1. 在虚拟机上安装MySQL
sudo apt-get install mysql-server sudo apt-get install libmysqlclient-dev
2. 检查安装
sudo netstat -tap | grep mysql
3. 查看默认密码
sudo cat /etc/mysql/debian.cnf
4. 用查看到的密码登录MySQL server,修改root用户的密码
mysql -u debian-sys-maint -pKk3TbShbFNvjvhpM #注意-p后面紧跟上面查看到的密码
#进入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,可以支持中文操作
#在MySQL命令模式下 show variables like "char%"; #修改 set character_set_server=utf-8;
接下来是连接到远程连接。
6. 远程连接
作者在远程连接的时候也遇到了一系列问题,经过查询最后成功解决。主要尝试了以下。
- 首先进入MySQL配置文件中将bind-address修改为0.0.0.0
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 进入到MySQL命令模式,开启了远程连接权限
#自行登录MySQL服务后... #开启远程连接权限 grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; #刷新一下 flush privileges;
- 查看并修改了Linux主机的防火墙状态
#开启对MySQL默认端口号3306的访问 ufw status ufw allow 3306 #开启本机IP对Linux上服务器额度访问 #在本机打开CMD等终端,使用ipconfig找到虚拟机IP,回到Ubuntu ufw allow from 本机IP
此后就是在Navicat上来连接虚拟机的MySQL数据库了
整个连接过程中,遇到了1130错误代码(如下图所示的错误代码),经过上面的步骤也是解决了,成功连接。