1. 程式人生 > >linux 下安裝Mysql5.7以後版本後不知道密碼如何登陸

linux 下安裝Mysql5.7以後版本後不知道密碼如何登陸

linux 下安裝Mysql5.7以後版本後不知道密碼如何登陸

第一次在linux下安裝mysql,安裝成功以後不知道密碼無法登陸,看了好多部落格說初始密碼為空,然而並不是這樣,輸入空密碼會報錯,後來才知道和版本有關。5.7之前的版本預設是沒有密碼的,只需在伺服器上直接登入,甚至使用者名稱都不用指定,但除本機外網路是登不上的,5.7版本的話安裝完後會生成一個隨機密碼,不知道設計這個有何意義,密碼隨機誰能知道?下面說下安裝mysql和修改密碼以及成功登陸mysql的過程。

  • 安裝 mysql
    sudo apt-get install mysql-server mysql-client
  • 啟動mysql
    service mysql start
  • 登陸mysql
    mysql -u root -p
    這時會讓你輸入密碼,可是初始密碼我們是不知道的,這時我們需要找到mysql的配置檔案進行修改(配置檔案具體路徑根據你安裝路徑來確定)
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    在[mysqld]後面任意一行新增“skip-grant-tables”用來跳過密碼驗證的過程,如下圖所示:
[mysqld]
skip-grant-tables
  • 重啟mysql
    service mysql restart
    這時我們可以不需要輸入密碼直接登陸mysql
  • 登陸mysql修改root密碼(newpassword為你的新密碼)
    mysql -u root -p
#最新版MySQL請採用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
  • 重新整理許可權
mysql> FLUSH PRIVILEGES;
  • 退出mysql
mysql> exit
  • 修改mysql配置檔案
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    將之前加入的“skip-grant-tables”註釋掉
[mysqld]
#skip-grant-tables
  • 重啟mysql
    service mysql restart
    這時我們就可以用剛剛設定好的新密碼登陸mysql了