Centos

在 CentOS 7 中設置 mysql root 密碼

  • September 24, 2021

Centos7如何登錄mysql 5.6命令行客戶端並重置root密碼?

我在此連結上閱讀了以下內容,但它不起作用:

1) sudo service mysqld stop
2) sudo service mysqld startsos
3) mysql -u root
4) Now you will be at mysql prompt. Here type:-
4.1) UPDATE mysql.user SET Password=PASSWORD('NewPassHere') WHERE User='root';
4.2) FLUSH PRIVILEGES;
4.3) quit;
5) sudo service mysqld restart  

上述步驟 1) 導致:

[root@localhost ~]# sudo service mysqld stop
Redirecting to /bin/systemctl stop  mysqld.service
Failed to issue method call: Unit mysqld.service not loaded.

上面的步驟 3) 導致:

-bash: syntax error near unexpected token `('

當我將第 3 步更改為 時UPDATE mysql.user SET Password='NewPassHere' WHERE User='root';,出現以下錯誤:

bash:更新:找不到命令…

su -當我輸入成為root,然後mysql - u root在下一個提示符下輸入時,我似乎確實能夠進入 mysql 。但是上面的 5 個步驟命令不起作用,即使我刪除了這個詞sudo和/或servicesystemctl. 從設置 root 密碼開始,如何在 CentOS 7 中獲得對 mysql 5.6 命令行的工作訪問權限?

有時你可以破壞你的配置。因此,重新開始會更容易,就好像從未安裝過該軟體包一樣。在您的情況下,我們正在研究 MySQL。

  1. 我們使用 Yum 來刪除 MySQL,如下所示:

yum remove mysql mysql-server 2. 刪除 MySQL 後,我們可以安全地備份配置:

mv /var/lib/mysql /var/lib/mysql_old_backup

如果您想刪除它,請發出:

rm -vR /var/lib/mysql 3. 現在我們可以安全地重新安裝 MySQL,使用來自官方 MySQL 儲存庫的包中包含的預設配置(我們需要wget獲取將更新您的儲存庫的 rpm):

yum install wget 4. 現在下載並安裝儲存庫:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm && rpm -ivh mysql-community-release-el7-5.noarch.rpm 5. 驗證儲存庫是否已安裝:

ls -1 /etc/yum.repos.d/mysql-community* 6. 發出實際的安裝命令(這將用mysql-server上游 MySQL 的官方包替換 CentOS 儲存庫中的):

yum install mysql-server 7. 使用提供的腳本設置 root 密碼,現在我們再次進行了全新安裝: mysql_secure_installation

如果您在使用腳本後需要設置密碼,請使用:

mysql -u root 8. 現在你可以使用標準的命令systemctlsystemd啟動和停止守護程序,如下所示:

systemctl start mysqld


參考

  1. 如何從 Linux 系統中徹底刪除 MySQL - CentOS
  2. 如何在 CentOS 7 / RHEL 7 上安裝 MySQL Server 5.6

在 RHEL/Centos 7 上安裝最新的 MySql 5.7。有幾個步驟如下:

步驟 1-: 添加以下 EPEL 儲存庫

$ sudo rpm -iUvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

步驟 2-: 使用下面的 yum 安裝程序安裝 MySql 伺服器。

$ sudo yum 安裝 mysql 伺服器 

步驟 3-: 添加到系統啟動並啟動 Mysql 伺服器。

$ sudo systemctl 啟用 mysqld
$ sudo systemctl 啟動 mysqld

步驟 4-: 重置 MySql 伺服器根密碼。

sudo grep '臨時密碼' /var/log/mysqld.log

輸出類似的東西-:

10.744785Z 1 【注意】為root@localhost生成一個臨時密碼:o!5y,oJGALQa

在重置 mysql_secure_installation 過程中使用上述密碼。

$ sudo mysql_secure_installation
保護 MySQL 伺服器部署。

輸入使用者 root 的密碼:
'validate_password' 外掛安裝在伺服器上。
後續步驟將使用現有配置執行
的外掛。
使用現有的 root 密碼。

估計密碼強度:100
更改root密碼?(((按 y|Y 表示是,任何其他鍵表示否):y

新密碼:

重新輸入新的密碼:

估計密碼強度:100
您希望使用提供的密碼繼續嗎?(按 y|Y 表示是,任何其他鍵表示否):y
預設情況下,MySQL 安裝有一個匿名使用者,
允許任何人無需登錄 MySQL
為他們創建的使用者帳戶。這僅適用於
測試,並使安裝更順暢。
您應該在進入生產之前刪除它們
環境。

移除匿名使用者?(按 y|Y 表示是,任何其他鍵表示否):y
成功。


通常,應該只允許 root 從
'本地主機'。這確保了有人無法猜測
來自網路的root密碼。

遠端禁止root登錄?(按 y|Y 表示是,任何其他鍵表示否):y
成功。

預設情況下,MySQL 帶有一個名為“test”的數據庫,
任何人都可以訪問。這也僅用於測試,
並且應該在進入生產之前被刪除
環境。


刪除測試數據庫並訪問它?(按 y|Y 表示是,任何其他鍵表示否):y
- 刪除測試數據庫...
成功。

- 刪除測試數據庫的權限...
成功。

重新載入權限表將確保所有更改
到目前為止所做的將立即生效。

現在重新載入權限表?(按 y|Y 表示是,任何其他鍵表示否):y
成功。

全部做完!

您已成功重置 MySql Server 的 root 密碼。

步驟 5-: 使用以下命令檢查 mysql 伺服器是否連接。

$ mysql -u root -p

輸出-:

歡迎使用 MySQL 監視器。命令以 ; 結尾 或\g。
您的 MySQL 連接 ID 是 9
伺服器版本:5.7.12 MySQL 社區伺服器(GPL)

版權所有 (c) 2000, 2016,Oracle 和/或其附屬公司。版權所有。

Oracle 是 Oracle Corporation 和/或其
附屬公司。其他名稱可能是其各自的商標
擁有者。

輸入“幫助”;或 '\h' 尋求幫助。鍵入 '\c' 以清除目前輸入語句。

mysql>

看我的文章:install-latest-mysql-5-7-rhelcentos-7

引用自:https://unix.stackexchange.com/questions/169900