赞
踩
这一步需要在安装MySQL-Server后启动Server前实现,步骤为:
1)修改/etc/my.cnf中的变量,添加 lower-case-table-names=1
2)然后执行初始化命令:
mysqld --initialize --user=mysql --lower-case-table-names=1
如果 /var/log/mysql/mysqld.log中有提示以下错误:
2020-08-19T10:46:21.497887Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
2020-08-19T10:46:21.498110Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-08-19T10:46:21.498273Z 0 [ERROR] [MY-010119] [Server] Aborting
则需要把MySQL的数据目录清空,默认的位置为:/var/lib/mysql,运行的命令为:
rm -rf /var/lib/mysql
3)启动MySQL,命令为
service mysql start
由于第一次修改MySQL密码的时候,是不允许使用alter语句的,默认会生成原始密码,在/var/log/mysql/mysql.log中有原始密码,如下:
2020-08-18T02:54:53.021683Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-08-18T02:55:01.111572Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-08-18T02:55:15.100986Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rlq5X%n5otUj
2020-08-18T02:55:51.237288Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.21) starting as process 4387
原始的密码为:rlq5X%n5otUj
然后使用 mysql -uroot -prlq5X%n5otUj,是不允许使用alter语句的。会提示以下错误:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement
正确修改密码的做法是:
mysqladmin -uroot -poldpassword password Root@123
-p后面的oldpassword是旧密码,Root@123是新密码,这样修改密码旧完成了,然后需要赋予远程远程登陆权限
在MySQL8.0中和MySQL5.7不一样,MySQL5.7中只需要一条语句就完成了,然而在MySQL8.0需要用2条命令来完成,如下
CREATE USER 'root'@'%' IDENTIFIED BY 'Root@123'; //创建用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予权限
到这里的时候,你以为一切都好了,But。。。你在用Navicate登陆的时候,还会报一个错误:Authentication plugin ‘caching_sha2_password’ cannot be loaded,如下:
出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password,这里选择还原加密规则,做法为:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123';
Root@123为新密码,到这里为止,一切就完成了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。