环境
主机
OS: win10
虚拟机: VirtualBox 5.1.8
终端: XShell 5
IP: DHCP,192.168.1.101
客机
OS: ubuntu 16.04
数据库: MySQL 5.7.16
网络: 桥接,DHCP,192.168.1.102
一、 安装MySQL
1.1 使用管理员权限安装
sudo apt-get install mysql-server
sudo apt-get install mysql-client
1.2 确认安装成功
sudo netstat -tap | grep mysql
或者
sudo netstat -ano | grep 3306
二、 设置MySQL远程访问
2.1 MySQL授权外部访问
mysql -u root -p /*登录MySQL*/
mysql>grant all on *.* to root@'%' with grant option ; /*授权外部访问,回车后需要输入密码*/
mysql>flush privileges ;/*刷新授权,不然授权在MySQL重启前不生效,执行这条指令后,即刻生效*/
mysql>exit /*exit就可以退出mysql访问,返回终端*/
2.2 取消127.0.0.1的监听绑定
MySQL 5.7.16的配置文件在/etc/mysql/mysql.conf.d的目录下,就是mysqld.cnf文件
而不是在/etc/mysql/my.cnf中修改配置。
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
2.3 开放防火墙端口
ubuntu 16.04使用ufw辅助设置防火墙,允许主机192.168.1.101访问客机所有端口
sudo ufw from 192.168.1.101
或者单独开放3306端口
sudo ufw allow 3306
至此,ubuntu 16.04下开放MySQL 5.7.16 远程访问设置完成。
强烈建议使用ufw替代iptables的设置,ufw的语法比iptables来得简单,明了
安装ufw
sudo apt-get install ufw