题外话:
网上有很多关于mysql远程连接授权,但是为什么我还要再写一遍呢,不止是为了重复记忆,更是为了让大家省些时间,做些其他有意义的事情难道不好吗?
本人授权的mysql版本为:
xx@xx:~$ mysql -V
mysql Ver 14.14 Distrib 5.7.32, for Linux (x86_64) using EditLine wrapper
进入主题:
1. ssh 进入数据库数据服务器
ssh user@10.236.98.xxx
2. 通过命令编辑配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
3. 找到
bind-address = 127.0.0.1
这一行,我们将它注释掉,保存并退出(wq!)
4. 重启mysql数据库
sudo service mysql restart
5. 进入数据库设置授权
mysql -u root -p
use mysql;
grant all privileges on *.* to 'root'@'%' identified by 'paytest' with grant option;
PS:该命令不可有多余空格,root为用户名,paytest为用户名密码GRANT ALL PRIVILEGES表示授权所有权限, 上面*.*中第一个*是授权可以访问的数据库名称, root是用户名, %表示请允许任意IP地址, 即任意主机可访问,with grant option:表示把当前用户对root数据库的权限传给root用户
6. 刷新数据库
flush privileges;
7. 通过命令查看是否对该用户授权成功
SELECT user,host FROM mysql.user;
PS: 如果root后面的host带有百分号说明授权成功
8. 在本地测试是否可远程连接mysql数据库,查看是否进入数据库
mysql -h10.236.98.xxx -uroot -p