logo
当前位置:首 页 > 编程技术 >后端开发 >mysql > 查看文章

MySQL添加远程访问权限

mysql, 后端开发, 编程技术 你是第604个围观者 0条评论 供稿者: 标签:,

最近项目需要升级,就是分库分表,做下负载均衡【过年踏青的时候游客量暴增,造成服务器短时无法访问和访问缓慢,多家OTA都给我们发出的预警,这应该算是严重的生产事故了。因为去年疫情的影响,今年没有估计到这情况。所以计划是将服务进行拆分,部分服务容器化,防止单点故障以及便于平缓升降级服务】但是在MySQL容器化的时候发现新版的MySQL不会用了。为啥呢,因为一直在用的开启远程数据库访问权限的脚本报错了

 

脚本是这样的:

grant all privileges on *.* to root@'%' identified by "password";

 

简简单单的赋权操作:

 

写了几遍都是错我。那就是有问题了。找了一圈,有个大佬说是版本问题:

MySQL8.0以上版本并不适用这种命令来开启远程访问权限

 

Mysql 8.0以上版本,开启远程访问权限(ERROR 1064 (42000): You have an error in your SQL syntax; )

 

 

 

老哥的方法确实不错。

 

create user 'root'@'192.168.0.***' identified by 'colin';  # root为用户名,192.168.0.***需要访问的机器的IP,colin是密码
grant all on test1.* to 'root'@'192.168.0.***';   # root为用户名,192.168.0.***需要访问的机器的IP
alter user 'root'@'192.168.0.***' identified with mysql_native_password by 'colin';  # root为用户名,192.168.0.***需要访问的机器的IP,colin是密码
flush privileges;  # 刷新权限,让设置生效

 

后来我改了几个地址:比较docker都是测试的。所以我对所有地址都赋权了:

create user 'root'@'%' identified by 'colin';  # root为用户名,全部需要访问的机器的IP,colin是密码
grant all on test1.* to 'root'@'%';   # root为用户名,全部需要访问的机器的IP   /// 这句是为用户赋予数据库权限的,老哥这里没有说清楚,这个test1.* test1是数据库 *是表
alter user 'root'@'%' identified with mysql_native_password by 'colin';  # root为用户名,全部需要访问的机器的IP,colin是密码
flush privileges;  # 刷新权限,让设置生效

果然一遍过:

 

 

 

 

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3