MySQL 8.0以上用户操作相关

以下适应于8.0以上的版本
新创建远程连接用户
命令行
mysql -uroot -p
use mysql
CREATE USER ‘errorbook’@’%’ IDENTIFIED BY ‘Lwie@129’;
GRANT ALL ON . TO ‘errorbook’@’%’;
flush privileges;

在MySQL 8.0.11中,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password。有关此更改对服务器操作的影响以及服务器与客户端和连接器的兼容性的信息

ALTER USER ‘errorbook’@’%’ IDENTIFIED WITH mysql_native_password BY ‘Lwie@129’;
flush privileges;

使用SQLyog for mysql连接公司的服务器数据库,报错:错误号码1129,Host ‘XXXXXX’ is blocked because of many connection errors

show global variables like ‘%max_connect_errors%’;

set global max_connect_errors = 1000;

flush hosts;

///////////////////////////////////////////////////////以下为操作过程////////////////////////
Microsoft Windows [版本 6.1.7601]
版权所有 © 2009 Microsoft Corporation。保留所有权利。

C:\Users\kingo>cd C:\Program Files\MySQL\MySQL Server 8.0\bin

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -uroot -p
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 321
Server version: 8.0.16 MySQL Community Server - GPL

Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> use mysql
Database changed
mysql> CREATE USER ‘errorbook’@’%’ IDENTIFIED BY ‘Lwie@129’;
Query OK, 0 rows affected (0.03 sec)

mysql> GRANT ALL ON . TO ‘errorbook’@’%’;
Query OK, 0 rows affected (0.03 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER ‘errorbook’@’%’ IDENTIFIED WITH mysql_native_password BY ‘Lwie@129’;
Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> set global max_connect_errors = 1000;
Query OK, 0 rows affected (0.00 sec)

mysql> flush hosts;
Query OK, 0 rows affected (0.02 sec)

mysql>

### 重置 MySQL 8.0 以上版本 root 密码的步骤 #### Linux 系统下的重置方法 1. **停止 MySQL 服务** 在终端中输入以下命令以停止 MySQL 服务: ```bash sudo systemctl stop mysql ``` 2. **启动 MySQL 时跳过权限检查** 使用以下命令启动 MySQL 服务并跳过权限检查: ```bash sudo mysqld_safe --skip-grant-tables & ``` 3. **连接到 MySQL** 在终端中输入以下命令连接到 MySQL: ```bash mysql -u root ``` 4. **切换到 mysql 数据库** 在 MySQL 命令行中,输入以下命令切换到 mysql 数据库: ```sql use mysql; ``` 5. **清空 root 用户的 authentication_string 字段** 执行以下 SQL 语句将 root 用户的 `authentication_string` 字段设置为空: ```sql update user set authentication_string='' where user='root'; ``` 6. **刷新权限** 执行以下命令刷新权限: ```sql flush privileges; ``` 7. **设置新的 root 密码** 使用以下 SQL 语句为 root 用户设置新密码: ```sql alter user 'root'@'localhost' identified by 'NewPassword123!'; ``` 8. **退出 MySQL 并重启服务** 输入以下命令退出 MySQL: ```sql exit; ``` 然后重启 MySQL 服务: ```bash sudo systemctl start mysql ``` 9. **验证新密码** 使用新密码尝试登录 MySQL: ```bash mysql -u root -p ``` #### Windows 系统下的重置方法 1. **关闭 MySQL 服务** 在命令提示符中输入以下命令以停止 MySQL 服务: ```cmd net stop mysql ``` 2. **创建密码重置脚本文件** 创建一个名为 `change_pwd.txt` 的文件,并在其中写入以下内容: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!'; ``` 3. **以管理员身份运行命令提示符** 打开命令提示符并进入 MySQL 的 `bin` 目录,例如: ```cmd cd C:\Program Files\MySQL\MySQL Server 8.0\bin ``` 4. **初始化 MySQL 并应用密码更改** 使用以下命令启动 MySQL 并应用密码更改: ```cmd mysqld --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 8.0\\my.ini" --init-file="C:\\Program Files\\MySQL\\MySQL Server 8.0\\change_pwd.txt" ``` 5. **验证新密码** 打开新的命令提示符窗口,进入 MySQL 的 `bin` 目录并尝试使用新密码登录: ```cmd mysql -u root -p ``` 6. **删除密码重置脚本文件** 登录成功后,可以删除 `change_pwd.txt` 文件以确保安全。 #### 注意事项 - 在执行这些步骤时,确保具有管理员权限。 - 修改密码后,务必删除用于重置的脚本文件,以防止他人利用该文件修改数据库。 - 如果 MySQL 安装路径不同,请根据实际情况调整路径[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值