当你用 127.0.0.1 去连接你的mysql的时候,连接来源是 127.0.0.1,也就是 localhost
但是如果你用 本机ip 去连接mysql,那么连接来源就是你本机的ip,而不是localhost~~即使你在本机发起的连接请求~
1. 我设法将localhost指向了127.0.0.1
一篇文章说,可以将ipv6卸载。或者修改注册表。我是修改了注册表。
2. 使用toad连接。提示错误:
估计和安装时,我选择了什么strong的加密方式有关。还得修改加密方式。
需要找到my.ini。可以在mysql的命令窗口,执行“show variables like 'datadir'”,找到my.ini在哪。
然后修改,将default_authentication_plugin=caching_sha2_password,改为default_authentication_plugin=mysql_native_password;重启服务。
——按照以上方法不好使。还是重装了mysql,安装时不选caching_sha2_password就成了。
/etc/mysql/my.cnf找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart
2:登录mysql数据库:mysql -u root -p
mysql>use mysql
查询host值:
mysql>select user,host from user
如果没有"%"这个host值,就执行下面这两句:
mysql>update user set host='%' where user='root'
mysql>flush privileges
或者也可以执行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx'
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)