萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL5.6 Using a password on the command line interface can be insecure

MySQL5.6 Using a password on the command line interface can be insecure

下面我們一起來看在使用mysql是碰到MySQL5.6 Using a password on the command line interface can be insecure錯誤提示解決方法,希望此例子對各位朋友會有所幫助。

最近把MySQL從5.5升到5.6以後,mysqldump居然不好用了,提示:

 代碼如下 復制代碼

[root@qttc ~]# /usr/local/mysql/bin/mysqldump  -uroot -proot db > bak.sql
Warning: Using a password on the command line interface can be insecure.

翻譯過來是:在命令行界面上使用密碼可以是不安全的。

這讓人有點郁悶,5.5用的一直都很爽,到5.6居然說命令行方式寫密碼不安全?那密碼寫哪呢?

在官網文檔找到了緣由,大家可以點擊這裡看看:http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html

MySQL users should use the following guidelines to keep passwords secure.

    When you run a client program to connect to the MySQL server, it is inadvisable to specify your password in a way that exposes it to discovery by other users. The methods you can use to specify your password when you run client programs are listed here, along with an assessment of the risks of each method. In short, the safest methods are to have the client program prompt for the password or to specify the password in a properly protected option file.

英文有點爛,但大概讀懂意思,翻譯過來大意是在命令行下如果要使用密碼可以在執行命令後的提示輸入裡輸入密碼,或者在指定的安全文件內指定密碼。那安全文件時哪個呢?文檔對此給出了答案:

Store your password in an option file. For example, on Unix, you can list your password in the [client] section of the .my.cnf file in your home directory:

可以在my.cnf內指定,於是打開我的my.cnf,在[mysqldump]下增加:

 代碼如下 復制代碼

 
user=root
password=root

文中說的在[client]下面加也可以,但那樣就所有塊的操作都能共享了,所以生產環境上為了安全還是盡量分開。保存退出再dump就ok了。

 代碼如下 復制代碼

[root@qttc ~]# /usr/local/mysql/bin/mysqldump db > bak.sql
[root@qttc ~]#

copyright © 萬盛學電腦網 all rights reserved