mac mysql 密码过期处理方法

mysql 安装后未禁用密码过期功能导致密码过期使用客户端连接不上去,此时可以通过终端个性密码。个性步骤如下:

  • 切换到超级用户 sudo su
  • 使用原始密码登录mysql并重置密码
  • 为了避免再次出现过期,可以禁用密码过期功能

操作如下:

sh-3.2# ./mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
sh-3.2# ./mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
sh-3.2# ./mysql -uroot -pxxxxx
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.7.10

Copyright (c) 2000, 2015, 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> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> SET PASSWORD = PASSWORD("XXXXX");
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> ALTER USER "root"@"localhost" PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)

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

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
7 rows in set (0.01 sec)

mysql> exit