关于centos7配置mysql【太多坑了,一个一个解析】
第一步:正常安装mysql:
centos7下安装mysql5.7(rpm)【最权威的安装方法,直接从官方安装】_比特币爱好者007的博客-CSDN博客第二步:登录设置密码或忘记密码:mysql -u root -p
关于密码的设置,默认必须是复杂密码,否则会报错【请参考以下文字配置】:
centos7下忘记mysql5.7密码:centos7下忘记mysql5.7密码 - yan8752 - 博客园
MySQL如果提示密码过期,请使用使用ALTER USER修改密码:MySQL使用ALTER USER修改密码 - 人人编程网
set global validate_password_policy=0;
set global validate_password_length=1;
# 密码永不过期
【mysql57之前旧版本重置方法】alter user 'root'@'localhost' identified by '123456' password expire never;
或
【msyql57之后版本的重置方法】set password=password("youpassword");
第三步:必须开通远程访问权限:
开启远程权限之前可能出现的错误【必须先重置密码】:
【操作之前请先重置密码,让密码更加复杂】初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before:mysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before - 無名之徒 - 博客园
mysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement beforemysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before_谁还不是小白鼠的博客-CSDN博客
开始远程权限参考:
参考:mysql远程连接失败的两种解决方法 - 卿水若流火 - 博客园
参考:开启MySQL远程访问权限 允许远程连接 - Oops!# - 博客园
【新创建一条权限】Mysql给root开启远程访问权限: Mysql给root开启远程访问权限_林中静月下仙的博客-CSDN博客_mysql root 远程访问
# 新添加一条远程权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'
# 更新远程权限
update user set host = '%' where user = 'root';
报错:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt的解决办法:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt_ITPUB博客
# 报错解决方案--->ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement时,执行一次下面的语句后再重新执行就可成功了!
flush privileges
# 第一步:登录mysql
mysql -u root -p
use mysql
update user set host = '%' where user = 'root';
flush privileges ;
quit
重启mysql
use mysql
# 查看远程用户的权限
select user,host from mysql.user;
开启远程权限常见错误:MySql出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY':参考:MySql出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'_挪威没有森林的博客-CSDN博客
一切配置好之后,防火墙关闭或打开配置运行后,依然无法连接,连接超时,请参考【重启路由器试试】:【mysql一个非常奇葩的问题】mysql 无法连接 [关闭了防火墙,开启了远程连接],可能是你当前网络的原因无法连接【换个网络试试】_比特币爱好者007的博客-CSDN博客
禁止远程权限参考:
配置 mysql使其允许禁止远程访问_mysql禁止远程登录_人余人的博客-CSDN博客
use mysql;
update user set host = "localhost" where user = "root" and host = "%";