远程没法链接mysql

 mysql开启远程链接html

今天在服务器安装了mysql,准备用mysqlguitools远程登陆的时候出错,提示:Host 'xxx' is not allowed to connect to this MySQL server。网上找了一些资料,是mysql未开启mysql远程访问权限致使。mysql

记录解决方案供之后参考。:sql

1.登陆到mysql:  mysql -uroot -ppwd数据库

2.查看user表: 服务器

mysql> use mysql
Database changed
mysql> select host,user,password from user;
+------+------+-------------------------------------------+
| host | user | password |
+------+------+-------------------------------------------+
| localhost    | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)ide

表中host、user字段标识了能够访问数据库的主机和用户。例如上面的数据就表示只能本地主机经过root用户访问。原来如此,难怪远程链接死活连不上。ui

为了让数据库支持远程主机访问,有两种方法能够开启远程访问功能。this

第一种(改表法):.net

修改host字段的值,将localhost修改为须要远程链接数据库的ip地址。或者直接修改为%。修改为%表示,全部主机均可以经过root用户访问数据库。为了方便,我直接修改为%。命令:mysql> update user set host = '%' where user = 'root';server

再次查看user表

+------+------+-------------------------------------------+
| host | user | password |
+------+------+-------------------------------------------+
| % | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)

修改为功,输入命令mysql> FLUSH PRIVILEGES; 回车使刚才的修改生效,再次远程链接数据库成功。

第二种(受权法):

例如,你想root使用mypassword从任何主机链接到mysql服务器的话。 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

 


若是你想容许用户myuser从ip为192.168.1.3的主机链接到mysql服务器,并使用mypassword做为密码 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 
'mypassword' WITH GRANT OPTION; 

输入命令mysql> FLUSH PRIVILEGES; 回车使刚才的修改生效,再次远程链接数据库成功。bingo.

别忘记最后的FLUSH PRIVILEGES; 刷新先前的修改。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

以上转载自https://www.cnblogs.com/vathena/p/4012399.html

 

首先遇到“can't connect to mysql server 10061”
经过查看/etc/mysql/my.cnf找到bind-address=127.0.0.1,直接改成
bind-address=192.168.0.xxx(本机ip)
以后重启mysql就OK了。

参考链接

而后又遇到“host is not allowed to connect to this mysql server”
解决方案:
如何开启MySQL的远程账号-1)首先以 root 账户登录 MySQL


在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,而后cd 进入MySQL 的 bin 目录下,而后输入下面的命令。
        > MySQL -uroot -p123456                 (123456 为 root 用户的密码。)


 


如何开启MySQL的远程账号-2)建立远程登录用户并受权
        > grant all PRIVILEGES on test_db.* to root@'192.168.1.101'  identified by '123456';


 


上面的语句表示将 test_db 数据库的全部权限受权给 root 这个用户,容许 root 用户在 192.168.1.101 这个 IP 进行远程登录,并设置 root 用户的密码为 123456 。

参考连接

相关文章
相关标签/搜索