mysql远程连接

开启mysql的远程连接权限

1. 链接本机的mysql(用ssh登录终端,输入如下命令):

mysql -uroot -p

2. 输入密码登陆进去后,输入如下的语句,执行。

mysql>grant all privileges on *.* to ‘user‘@’%‘ identified by ‘password‘ with grant option;
#user是用户名,%表示任意主机,password是密码 
mysql>flush privileges;

查看权限命令:

mysql> use mysql;
mysql> select user, host from user;
如下结果, 说明开启了任意主机远程连接权限

mysql远程连接_第1张图片


navicat for mysql 连接ubuntu里的mysql出现这个错误: 2003 - Can't connect to MySQL server on '192.168.0.112' (10038)


测试步骤:

1. windows上ping 192.168.0.112可以ping通

2. windows上telnet 192.168.0.112 3306发现失败 (关于安装启动telnet服务, 点这里)


3. 检查ubuntu里mysql服务: ss -na|grep 3306



由此可见, mysql监听的是3306端口, 但是地址不对, 这样只监听了本机地址

要监听所有地址, 应将/etc/mysql/my.conf里的[mysqld]结点下的bind-address 属性改为 0.0.0.0, 如下

#shell命令如下:
:~$ cd /etc/mysql
:/etc/mysql$ sudo chmod a+w my.conf #将my.conf权限改为可写
:/etc/mysql$ vi my.conf #用vim编辑my.conf
:/etc/mysql$ sudo chmod a-w my.conf #将my.conf权限改为只读
:/etc/mysql$ sudo restart mysql #重启服务器

mysql远程连接_第2张图片

修改完后再次检查ubuntu里mysql服务: ss -na|grep 3306



再次用navicat 测试连接, 连接成功~


你可能感兴趣的:(环境配置)