首頁  >  問答  >  主體

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;

再次尝试登陆,还是不用输任何密码就可以登陆成功(有重启数据库)

那么,现在问题来了:

我要怎样才能成功的给数据库设个密码呢?(除了在安装时弹出框里输入)

PHP中文网PHP中文网2743 天前789

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-04-17 16:45:20

    官方文件這裡有提示,你根據提示看看
    https://dev.mysql.com/doc/mys...
    僅對於MySQL 5.7:在伺服器的初始啟動時,出現以下情況,假定伺服器的數據目錄為空:
    伺服器已初始化。
    SSL憑證和金鑰檔案在資料目錄中產生。
    該 validate_password外掛程式安裝並啟用。
    'root'@'localhost' 建立 超級使用者帳號。超級用戶的密碼被設定並儲存在錯誤日誌檔案中。要顯示它,請使用以下命令:
    shell> sudo grep 'temporary password' /var/log/mysqld.logsudo grep 'temporary password' /var/log/mysqld.log
    通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改root密码:
    shell> mysql -uroot -p
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';透過使用產生的臨時密碼登入並為超級使用者帳戶設定自訂密碼,盡快更改root密碼:
    shell> mysql -uroot -p
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

    注意🎜預設安裝MySQL的validate_password外掛程式。這將要求密碼至少包含一個大寫字母,一個小寫字母,一個數字和一個特殊字符,並且總密碼長度至少為8個字符。 🎜

    回覆
    0
  • PHPz

    PHPz2017-04-17 16:45:20

    試試使用 mysql_secure_installion

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 16:45:20

    你的帳號裡面應該是有空帳號你並沒有刪除或為這個空帳號設定密碼
    delete from mysql.user where user='';flush privileges;

    update mysql.user set authentication_string=PASSWORD('1231123232323 ');flush privileges;

    回覆
    0
  • 取消回覆