在Ubuntu系统上设置好了MySQL数据库,但是远程连接MySQL的时候一直报错。
Host 'xxx' is not allowed to connect to this MySQL server.
在网络上查阅资料,大多数帖子都是说设置
/etc/mysql/mysql.conf.d/mysqld.cnf
文件中的bind-address
属性
注释掉这个属性,或者将默认的127.0.0.1 改为 0.0.0.0
但是,在我更改了bind-address属性之后,还是无法连接。
后来,又查阅了一番资料,按照以下方法,成功解决了这个问题。
①在Ubuntu端登陆Mysql
mysql -u root -p
②查询当前mysql的host和user
mysql> use mysql
Database changed
mysql> select host,user from user;
表中host、user字段标识了可以访问数据库的主机和用户。发现我的host都是localhost,难怪远程连接死活连不上。
③开启远程访问功能(修改host)
set host = '%' where user = 'root';
这样修改使root用户在任何host都可以登陆该MySQL。
修改成功,输入命令
mysql> FLUSH PRIVILEGES
;
回车使刚才的修改生效,再次远程连接数据库成功。