终于把这个知乎号找回来了
关于MySQL局域网授权,因为版本不同,授权语句也不同,先登陆MySQL检查自己的版本
8.0版本之前的提升权限语句:开放远程连接权限:grant [权限] on [database.table] to [用户名]@[IP] identified by [密码];
刷新权限:flush privileges;
grant all privileges on *.* to 'root'@'%' identified by`123`with grant option;
步骤:
1、进入MySQL服务器
2、输入开放权限命令:grant。然后刷新权限。因为我MySQ版本是8.0以后的。提示出错,下图来自网页,授权成功如下。
3、在网上查找资料的时候,有一个情况说当不能用ip 地址访问本地 mysql 服务器,有一个解决办法,修改数据库中的user
进入MySQL之后,输入
select user,host from mysql.user;
mysql.user = 数据库名称.表名称,根据自己的数据库修改
4、如果没有 user=root ,host = % 的用户,则执行下面语句:
mysql> update user set host='%' where user='root';
返回第1步,给root开通权限,前面的root为访问数据库用户名,by后面的是访问密码
grant all privileges on *.* to 'root'@'%' identified by`123`with grant option;
5、让赋予的权限立即生效
mysql> flush privileges;
新版本提升权限语句:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
先用了这个语句,提示 'root'@'localhost'有误,查询发现我的root对应的host是%,将语句改成
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
权限开通成功,然后刷新授权
flush privileges;
这样在局域网内就可以访问你的数据库了
又Get到一个新技能。
如何用VBA访问MySQL数据库,实现局域网内联网功能,请听下回分解!