手记

配置mysql允许远程连接的方法

vim /etc/my.cnf
注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1
保存退出。
mysql -uroot -p123456

为需要远程登录的用户赋予权限:

复制代码 代码如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
mysql> flush privileges;


远程登录命令:
mysql -h 223.4.92.130 -uroot -p(-h后跟的是要登录主机的ip地址)

0人推荐
随时随地看视频
慕课网APP

热门评论

赞,讲的很细。代码复制都跑的通。这两天就在研究这个,我来顺手总结和补充一下 MySQL 8.0 的新特性吧。 原有账号修改 host

RENAME USER 'root'@'localhost' TO 'root'@'%';

改成「%」才能全局访问 修改 my.cnf

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

要在配置文件添加允许访问的主机

bind - address = 0.0.0.0

最后就是 8.0 新特性的问题了,MySQL 8.0 默认认证方式改为 SHA2 了,需要把这个认证方式改为密码认证。

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

这挺重要的,之前我这里一直报错「MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found」 

 《如何远程连接 MySQL 数据库,阿里云腾讯云外网连接教程》

https://kalacloud.com/blog/how-to-allow-remote-access-to-mysql/ 

更多细节可以看这篇文章,所有远程连接碰到的坑,这里都写到了,跟着教程走即可,推荐一下。

查看全部评论