Windows主机Navicat远程连接到Ubuntu18.04虚拟机MySQL

1. 在虚拟机上安装MySQL
bash 复制代码
sudo apt-get install mysql-server
sudo apt-get install libmysqlclient-dev
2. 检查安装
bash 复制代码
sudo netstat -tap | grep mysql
3. 查看默认密码
bash 复制代码
sudo cat /etc/mysql/debian.cnf
4. 用查看到的密码登录MySQL server,修改root用户的密码
bash 复制代码
mysql -u debian-sys-maint -pKk3TbShbFNvjvhpM
#注意-p后面紧跟上面查看到的密码
bash 复制代码
#进入mysql>的命令模式后,通过下面三行代码修改密码为123456
update mysql.user set authentication_string=password('123456') where
user='root' and host='localhost';

update mysql.user set plugin="mysql_native_password";

flush privileges;

#退出mysql命令模式
exit;

#重新用root和123456登录mysql-server
mysql -u root -p
#123456(输入密码)
5. 设置MySQL字符编码utf8,可以支持中文操作
sql 复制代码
#在MySQL命令模式下
show variables like "char%";

#修改
set character_set_server=utf-8;

接下来是连接到远程连接。

6. 远程连接

作者在远程连接的时候也遇到了一系列问题,经过查询最后成功解决。主要尝试了以下。

  • 首先进入MySQL配置文件中将bind-address修改为0.0.0.0
bash 复制代码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  • 进入到MySQL命令模式,开启了远程连接权限
sql 复制代码
#自行登录MySQL服务后...
#开启远程连接权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
#刷新一下
flush privileges;
  • 查看并修改了Linux主机的防火墙状态
bash 复制代码
#开启对MySQL默认端口号3306的访问
ufw status
ufw allow 3306
#开启本机IP对Linux上服务器额度访问
#在本机打开CMD等终端,使用ipconfig找到虚拟机IP,回到Ubuntu
ufw allow from 本机IP

此后就是在Navicat上来连接虚拟机的MySQL数据库了

整个连接过程中,遇到了1130错误代码(如下图所示的错误代码),经过上面的步骤也是解决了,成功连接。

相关推荐
@insist1232 小时前
信息安全工程师-数据库安全全体系解析与最佳实践
数据库·安全·软考·信息安全工程师·软件水平考试
_ku_ku_3 小时前
数据库系统原理 · 事务管理与恢复 · 自学总结
数据库·oracle
lifewange4 小时前
Redis 集合(Set)运算完全指南
数据库·chrome·redis
TDengine (老段)4 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
Full Stack Developme5 小时前
Spring Boot 事务管理完整教程
java·数据库·spring boot
银河外卖员6 小时前
VMware 虚拟机安装 Windows 10 系统详细图文教程
windows·vmware
渣渣灰95877 小时前
Windows 10 环境部署 Claude Code 教程
windows·vscode·calude code
m0_702036537 小时前
mysql如何通过索引减少行锁范围_mysql索引与加锁逻辑
jvm·数据库·python
qxwlcsdn7 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
phltxy7 小时前
Redis 主从复制
java·数据库·redis