系统环境
CentOS7
更改密码
如果忘记了密码,需要执行下面指令取消密码验证
// 编辑mysql配置文件
vim /etc/my.cnf
// 在 [mysqld] 下添加一行:
skip-grant-tables=1
// 重启mysql
systemctl restart mysqld
第一步:登录mysql
mysql
第二步:切换到mysql数据库
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
第三步:修改密码
输入:
set password for 'root'@'localhost'=password('123');
如果报:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
输入:
flush privileges;
再次输入:
set password for 'root'@'localhost'=password('123');
第四步:刷新权限表
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
如果使用密码登陆的到这一步就结束了。
接下来是不用密码登录的,后续要进行的操作
// 编辑mysql配置文件
vim /etc/my.cnf
// 在 [mysqld] 删这一行:
skip-grant-tables=1
// 重启mysql
systemctl restart mysqld
登录
mysql -uroot -p # 或 mysql -u root
再输入123就进入mysql了
其他命令
查看用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------------------+
| query |
+---------------------------------------+
| User: 'root'@'127.0.0.1'; |
| User: 'root'@'::1'; |
| User: ''@'localhost'; |
| User: 'root'@'localhost'; |
| User: ''@'localhost.localdomain'; |
| User: 'root'@'localhost.localdomain'; |
+---------------------------------------+
6 rows in set (0.00 sec)