今天測試Linux 各個軟體源 ,發現mysql 配置官方源之後,yum install -y mysql 安裝了 mysql lastst 最新版, 安裝完之後,奇葩的是沒有提示輸入密碼, 所以 mysql 可以進入 提示輸入密碼,沒有密碼, 再經過幾個折騰,包括什麼跳過密碼驗證等等方法試過之後還 ...
今天測試Linux 各個軟體源 ,發現mysql 配置官方源之後,yum install -y mysql 安裝了 mysql lastst 最新版, 安裝完之後,奇葩的是沒有提示輸入密碼,
所以 mysql 可以進入 提示輸入密碼,沒有密碼, 再經過幾個折騰,包括什麼跳過密碼驗證等等方法試過之後還是不行,發現直接查日誌最為方便,
翻遍各種配置文件,改來該去
/etc/my.cnf mysql主配置文件 // 在這個配置文件結尾加上 skip-grant-tables 可以跳過密碼驗證 /var/lib/mysql 資料庫文件存放位置 /var/log mysql 資料庫的日誌輸出存放位置
查看文檔之後發現,mysql 在初次啟動之後,會生成一個隨機初始密碼, 可以從日誌中 篩選 到 , cat var/log/mysqld.log |grep password 就可以查詢到當時的密碼, 如圖所示
這個初始密碼第一次登陸是必須要修改的,所以使用這個密碼登錄之後,改為自己設置的密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
新密碼設置的時候如果設置的過於簡單會報錯,所以必須設置得複雜一些。
另外 在我之前安裝了 mysql8.0以上的版本,然後卸載了全部依賴, 重新裝了mysql5.7 之後,啟動失敗:
查看狀態發現失敗,
搜日誌吧: cat vim/var/
好像說有個東西在, 之前應該是裝過8.0 導致的,
最後發現是/var/lib/mysql /這個目標路徑已經存在/var/lib/mysql 後面的mysql 寫入到的跟之前的mysql 塊地址不一樣,導致衝突 ,是磁碟區塊導致的,
說白了就是有的之前的mysql 和現在的mysql雖然名字一樣,但是不是一個東西,所以衝突了,導致運行的mysqld 的時候無法初始化,
刪除/var/lib/mysql /後重啟MySQL服務 。
KO!