问题背景:
现在假设我的本机ip是10.93.xx.xx。
在部署sonic的过程中,需要连接mysql服务,它不允许连接localhost和127.0.0.1,只能连接本机ip,10.93.xx.xx,而且我填写配置文件时写的端口号是3307。mysql默认的端口号是3306。
问题一
连接localhost:3306非常正常,连接10.93.xx.xx:3306报错,这个比较好解决
解决方案:
先连接数据库
use mysql;
show tables;
select * from user;
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
如下图所示
这里要关掉一下安全模式才能成功执行命令
先查看一下安全模式
修改安全模式
SET SQL_SAFE_UPDATES = 0;
参考链接:
https://blog.csdn.net/m0_56368068/article/details/121988930
问题二
mysql连接10.93.xx.xx:3306可以连接上了,10.93.xx.xx:3307却连接不上
解决方案:
我的解决方案比较简单粗暴(有别的好方法的,也请多多指教),直接换掉了端口号,在网上看到一个增加端口号的方法看起来比较复杂,先查看自己的my.cnf的路径
mysql --verbose --help | grep my.cnf
这个路径是按优先顺序排的,我这里创建了一个/etc/my.cnf文件,我的mac里没有这个文件,需要手动创建。
上图就是我的整个配置文件,没错,我就写了这几行,网上的配置文件非常的长,我粘贴完毕后Mysql服务直接打不开了。然后我自己尝试这个就写着几行还真生效了。
配置完毕后重启Mysql服务器
然后就可以连接上10.93.xx.xx:3307啦,但是连不上10.93.xx.xx:3306了。
所以这个方法是很简单粗暴的,有时间再研究一下增加端口号,先将就着使使