mysql5.7 安裝后無法設置密碼
問題描述
版本以及操作系統:Server version: 5.7.17-0ubuntu0.16.04.1 (Ubuntu-server)
嘗試直接apt-get install mysql-server,安裝過程中彈出讓輸入密碼的框都直接回車。
安裝好之后,輸入mysql可以直接登陸數據庫,嘗試用mysqladmin -u root password 'password'``來設置密碼,彈出兩條警告:
$ mysqladmin -u root password '123'mysqladmin: [Warning] Using a password on the command line interface can be insecure.Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
再次嘗試登陸,還是可以直接輸入mysql登陸(嘗試過重啟數據庫)。
第二次嘗試登陸進數據庫,使用update mysql.user set authentication_string=PASSWORD(’123123’) where user=’root’;設置,然后刷新權限flush privileges;
再次嘗試登陸,還是不用輸任何密碼就可以登陸成功(有重啟數據庫)
那么,現在問題來了:
我要怎樣才能成功的給數據庫設個密碼呢?(除了在安裝時彈出框里輸入)
問題解答
回答1:官方文檔這里有提示,你根據提示看看https://dev.mysql.com/doc/mys...僅對于MySQL 5.7:在服務器的初始啟動時,出現以下情況,假定服務器的數據目錄為空:服務器已初始化。SSL證書和密鑰文件在數據目錄中生成。該 validate_password插件安裝并啟用。’root’@’localhost’ 創建 超級用戶帳戶。超級用戶的密碼被設置并存儲在錯誤日志文件中。要顯示它,請使用以下命令:shell> sudo grep ’temporary password’ /var/log/mysqld.log通過使用生成的臨時密碼登錄并為超級用戶帳戶設置自定義密碼,盡快更改root密碼:shell> mysql -uroot -p mysql> ALTER USER ’root’@’localhost’ IDENTIFIED BY ’MyNewPass4!’;注意默認情況下 安裝MySQL的 validate_password插件。這將要求密碼至少包含一個大寫字母,一個小寫字母,一個數字和一個特殊字符,并且總密碼長度至少為8個字符。
回答2:試試使用 mysql_secure_installion
回答3:你的賬號里面應該是有空賬號 你并沒有刪除或者為這個空賬號設置密碼delete from mysql.user where user=’’;flush privileges;或者update mysql.user set authentication_string=PASSWORD(’123123’);flush privileges;
相關文章:
