Windows远程连接Ubuntu上的MySQL数据库

原因:mysql安装好后,默认监听3306端口,并且只允许localhost访问,只允许root用户在localhost上登录。
 
我的环境:
                Ubuntu16.04
                MySQL8.0
 
方法:所以要远程连接上mysql数据库。1,确保3306号端口开放;2,允许其他IP访问;3,允许root用户在其他IP上登录
 
解决1:确保3306端口开放
打开3306号端口:sudo ufw allow 3306
查看端口状态:sudo ufw status    # allow就是开放的。
关闭防火墙:sudo ufw disable
开启防火墙:sudo ufw enable
 
解决2:允许其他IP访问
进入到 /etc/mysql/mysql.conf.d 目录    # 一般mysql默认会安装在这个目录下。如果不是,可以使用sudo find / -name "mysql.cnf"来查找文件。
修改mysqld.cnf文件
把bind-address从127.0.0.0改为0.0.0.0
 
解决3:允许root用户在其他IP上登录
使用root用户登录mysql数据库:mysql -u root -p
进入到mysql数据库:use mysql;
查看user表的host和user数据:select host, user from user;    # 会发现root用户允许的host是localhost。
修改数据:update user set host='%' where user='root';    # 把user为root的host改为%,表示允许root用户在所有IP上登录。
重启mysql:/etc/init.d/mysql restart
 
 

猜你喜欢

转载自www.cnblogs.com/shendeng23/p/10467743.html