mysql 问题总结 只能本地连接问题
MySQL本地可以连接,远程连接不上的解决:
1> 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"( 我一般直接在表中修改)
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 (也可以把%换成指定ip)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
这个时候就会往mysql的user表里面添加一条数据:
INSERT INTO `user` VALUES ('%', 'root', '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0', '0');
navicate连接mysql8:
navicate在连接8的时候会报密码错误,加密方式不同而已
执行下面命令即可
mysql8的远程连接:
必须先创建用户(密码规则:mysql8.0以上密码策略限制必须要大小写加数字特殊符号) create user huhy@'%' identified by 'Huhy123.'; 赋值权限 grant all privileges on *.* to huhy@'%' with grant option; 刷新 flush privileges; 当你进行远程连接是,会出现这样的错误:Unable to load authentication plugin 'caching_sha2_password'. 是因为mysql8使用的是caching_sha2_password加密规则,最简单的方法是修改远程连接用户的加密规则: ALTER USER 'huhy'@'%' IDENTIFIED WITH mysql_native_password BY 'Huhy123.';
练习:
create database 数据库名称default character set utf8 collate utf8_bin; create user '用户名'@'%' identified by '密码'; create user '用户名'@'localhost' identified by 'NFadmin'; grant all privileges on `数据库名`.* to '用户名'@'%' identified by '密码'; grant all privileges on `数据库名`.* to '用户名'@'localhost' identified by '密码'; flush privileges;
本文来自博客园,作者:huhy,转载请注明原文链接:https://www.cnblogs.com/huhongy/p/9482172.html