Ubuntu 20.04 遇到的 Mysql 8.0 相关问题
Mysql 8.0 忘记密码 / 修改密码记录
1. mysql 启动配置文件修改
一般配置文件存放位置:
/etc/my.cnf
/etc/mysql/my.cnf
/etc/mysql/mysql.conf.d
本地使用的是 /etc/mysql/mysql.conf.d
,新增配置 skip-grant-tables
[mysqld]
skip-grant-tables
2. 重启 mysql 服务
systemctl restart mysql.service
或
/etc/init.d/mysql restart
3. 无密码访问 mysql 修改密码
mysql -u root -p
mysql> use mysql;
4. 修改密码
mysql> alter user 'root'@'localhost' identified by 'Heze123456.';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
4. 将配置文件中 skip-grant-tables
注释或者删除掉
5. 重启服务,使用新密码访问
=================================== 分隔线 ===================================
问题1:ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
- 查看用户 扩展方式
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'root';
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
mysql> select user,host,plugin,authentication_string from user;
+------------------+-----------+-----------------------+-------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+-------------------------+
| mysql.infoschema | localhost | caching_sha2_password | $A$005MUSTNEVERBRBEUSED |
| mysql.session | localhost | caching_sha2_password | $A$005MUSTNEVERBRBEUSED |
| mysql.sys | localhost | caching_sha2_password | $A$005MUSTNEVERBRBEUSED |
| root | localhost | auth_socket | |
+------------------+-----------+-----------------------+-------------------------+
- 解决:将plugin改为以前版本的密码认证方式
mysql> update user set plugin='mysql_native_password' where user='root';
Query OK, 1 row affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
- 重复步骤 4 修改密码
Mysql 8.0 安装以及配置大小写不敏感
1. mysql 安装, 默认 初始化后不允许配置大小写敏感。修改配置文件都没用。
apt-get install mysql-server
2. 解决方案:
1.先安装;
2.修改配置文件,添加 lower_case_table_names=1 ,备份该配置文件;
3.卸载mysql;
4.保留修改后的配置文件的情况下重装mysql;
3. 操作步骤
提示本地已经有mysqld.cnf这个配置文件, 记得使用本地配置文件
# 使用 root 用户
sudo su
# 第一次安装 mysql 服务
apt-get install mysql-server
# 备份 mysql 配置文件
cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.backup
# 停止 mysql 服务
service mysql stop
# 自动卸载 mysql 服务
apt-get --purge autoremove mysql-server
# 移除 mysql 相关文件
rm -R /var/lib/mysql
# 复制 备份文件
cp /etc/mysql/mysql.conf.d/mysqld.cnf.backup /etc/mysql/mysql.conf.d/mysqld.cnf
# 编辑备份文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 配置文件追加 大小写不敏感
...
lower_case_table_names=1
...
# 安装 mysql
apt-get install mysql-server
# 启动 mysql
service mysql start