Linux MySQL-5.7 root初始密码修改
2017-11-13 19:05
471 查看
上一篇将MySQL-5.7.3-m13安装后,登录发现要密码,之前安装的时候发现有说明
但是坑爹的是压根没在/root下找到.mysql_secret文件,好把,百度,使用无需验证的方式,修改my.cnf
重启mysql
登录上mysql,然后切换到mysql
接下来就是重点了修改密码,需要修改两次,一次authentication_string,一次 password
然后把之前的配置skip-grant-tables=1去掉,重新启动mysql
最后还是要再执行下修改密码的语句的
mysql> use mysql
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql>
搞定!!
参考1:http://blog.csdn.net/qq_31105311/article/details/50397610
参考2:http://www.linuxidc.com/Linux/2015-12/126628.htm
其实主要问题是,user表既有password又有authentication_string,网上说的都只修改了其中一个,导致一直无法用修改后的密码登录,根据参考2里面的语句
发现Password和 authentication_string的值不一致,就试着又把Password也改成和authentication_string一样的值,然后去掉skip-grant-tables=1的配置,再次重启mysql后
果然能用修改后的密码登录了
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER ! You will find that password in '/root/.mysql_secret'. You must change that password on your first connect, no other statement but 'SET PASSWORD' will be accepted. See the manual for the semantics of the 'password expired' flag. Also, the account for the anonymous user has been removed. In addition, you can run:
但是坑爹的是压根没在/root下找到.mysql_secret文件,好把,百度,使用无需验证的方式,修改my.cnf
[mysqld] port=3306 character-set-server = utf8 explicit_defaults_for_timestamp=1 skip-grant-tables=1就是这句,停止权限验证skip-grant-tables=1
重启mysql
[root@cdh etc]# service mysql restart Shutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! [root@cdh etc]#
登录上mysql,然后切换到mysql
[root@cdh etc]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.7.3-m13 MySQL Community Server (GPL) Copyright (c) 2000, 2013, 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 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
接下来就是重点了修改密码,需要修改两次,一次authentication_string,一次 password
mysql> UPDATE user SET authentication_string=PASSWORD("123456") WHERE user='root'; Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0 mysql> update user set password=password('123456') where user='root'; Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0
然后把之前的配置skip-grant-tables=1去掉,重新启动mysql
[root@cdh etc]# /etc/init.d/mysql restart Shutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! [root@cdh etc]# mysql -proot -p mysql: [Warning] Using a password on the command line interface can be insecure. Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.7.3-m13 Copyright (c) 2000, 2013, 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>
最后还是要再执行下修改密码的语句的
mysql> use mysql
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql>
搞定!!
参考1:http://blog.csdn.net/qq_31105311/article/details/50397610
参考2:http://www.linuxidc.com/Linux/2015-12/126628.htm
其实主要问题是,user表既有password又有authentication_string,网上说的都只修改了其中一个,导致一直无法用修改后的密码登录,根据参考2里面的语句
mysql> select * from mysql.user\G; *************************** 1. row *************************** Host: localhost User: root Password: *C2D0106C508BFCE6FE72C44482224A9C223BC873 Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Reload_priv: Y Shutdown_priv: Y Process_priv: Y File_priv: Y Grant_priv: Y References_priv: Y Index_priv: Y Alter_priv: Y Show_db_priv: Y Super_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Execute_priv: Y Repl_slave_priv: Y Repl_client_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Create_user_priv: Y Event_priv: Y Trigger_priv: Y Create_tablespace_priv: Y ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: mysql_native_password authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 password_expired: N *************************** 2. row *************************** Host: localhost.localdomain User: root Password: *C2D0106C508BFCE6FE72C44482224A9C223BC873 Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Reload_priv: Y Shutdown_priv: Y Process_priv: Y File_priv: Y Grant_priv: Y References_priv: Y Index_priv: Y Alter_priv: Y Show_db_priv: Y Super_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Execute_priv: Y Repl_slave_priv: Y Repl_client_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Create_user_priv: Y Event_priv: Y Trigger_priv: Y Create_tablespace_priv: Y ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: mysql_native_password authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 password_expired: N *************************** 3. row *************************** Host: 127.0.0.1 User: root Password: *C2D0106C508BFCE6FE72C44482224A9C223BC873 Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Reload_priv: Y Shutdown_priv: Y Process_priv: Y File_priv: Y Grant_priv: Y References_priv: Y Index_priv: Y Alter_priv: Y Show_db_priv: Y Super_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Execute_priv: Y Repl_slave_priv: Y Repl_client_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Create_user_priv: Y Event_priv: Y Trigger_priv: Y Create_tablespace_priv: Y ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: mysql_native_password authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 password_expired: N *************************** 4. row *************************** Host: ::1 User: root Password: *C2D0106C508BFCE6FE72C44482224A9C223BC873 Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Reload_priv: Y Shutdown_priv: Y Process_priv: Y File_priv: Y Grant_priv: Y References_priv: Y Index_priv: Y Alter_priv: Y Show_db_priv: Y Super_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Execute_priv: Y Repl_slave_priv: Y Repl_client_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Create_user_priv: Y Event_priv: Y Trigger_priv: Y Create_tablespace_priv: Y ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: mysql_native_password authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 password_expired: N 4 rows in set (0.02 sec) ERROR: No query specified mysql>
发现Password和 authentication_string的值不一致,就试着又把Password也改成和authentication_string一样的值,然后去掉skip-grant-tables=1的配置,再次重启mysql后
果然能用修改后的密码登录了
相关文章推荐
- Linux Mysql5.7.10修改root初始密码
- MySQL 5.7 的初始化操作(root初始密码、修改密码、密码策略、关闭IPv6监听)
- mysql5.7 linux or mac 忘记root密码修改
- Linux Mysql5.7.10修改root初始密码
- linux下mysql 5.7及以前版本 root密码修改方法
- Linux下修改Mysql的用户(root)的密码
- mysql 5.7修改root密码 密码过期
- linux下mysql修改root密码
- Linux下修改Mysql的用户(root)的密码(转载)
- Linux下修改Mysql的用户(root)的密码
- Linux下修改Mysql的用户(root)的密码
- linux下mysql修改root密码
- 修改MySQL的root密码(Linux环境)(…
- Linux下mysql的root密码修改方法
- 在Linux环境下mysql的root密码忘记解决方法 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 2.修改MySQL的登录设置: # vi /etc/my.c
- linux下mysql修改数据库账户root密码
- LINUX下修改MySQL的用户(root)的密码
- linux下mysql修改root密码
- 在linux下修改mysql的root密码
- linux下修改mysql的root账号的密码