最近研究一下MySQL 5.6 版本發現安裝後,使用空密碼沒法登錄mysql
安裝的過程當中有這樣的一句話:sql
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !安全
You will find that password in '/root/.mysql_secret'.dom
You must change that password on your first connect,ide
no other statement but 'SET PASSWORD' will be accepted.this
See the manual for the semantics of the 'password expired' flag.spa
大概意思就是 一個隨機的密碼已經生成 能夠在 '/root/.mysql_secret'. 中找到
第一次鏈接必須變動密碼 且只能使用 'SET PASSWORD' 命令
在user 表中新增長了'password expired' 列,也就是密碼過時
咱們來啓動mysql 而後登錄
service mysql start
mysql -uroot -pvssAWF0O
#密碼是在 more .mysql_secret 裏面記錄
# The random password set for the root user at Mon Mar 25 11:13:11 2013 (local time):
vssAWF0O
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 1
Server version: 5.6.10
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> select 1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
#提示必須現更改密碼才能執行語句
mysql> set password=password('password2013');
Query OK, 0 rows affected (0.00 sec)
mysql> select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.03 sec)
mysql>
5.6版本的安全性大大加強了,其餘的新特性的等待後續研究!