1. 程式人生 > >解決mysql:The server quit without updating PID file

解決mysql:The server quit without updating PID file

根目錄 ima ali 用戶 ctrl+ user 服務 section src

一、卸載原來的mysql
技術分享圖片
出現這種錯誤極有可能是上一個mysql的殘留文件沒有刪除,在/etc目錄下查找有沒有my.cnf文件,如果有刪除它 rm -rf my.cnf。再去/usr/local和root目錄下查看有沒有mysql的相關文件,全部清除。然後在命令行輸入命令:

rpm -qa |grep mysql

技術分享圖片

把列出的文件全部刪除

rpm -e --nodeps 軟件名稱

技術分享圖片
然後執行命令

find / -name mysql

意思是從根目錄查找,有沒有叫mysql的文件
把顯示出來的文件全部刪除

rm -rf 文件路徑/

二、安裝mysql

1.獲取包
全部卸載完成後開始安裝mysql
在線下載:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

然後把壓縮包解壓到/usr/local目錄

tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /usr/local

進入/usr/local/目錄 把解壓包重命名為mysql

mv mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz mysql

2.創建用戶組和用戶

創建用戶組:

groupadd mysql

創建用戶:

useradd -r -g mysql mysql

為了安全性,給mysql數據庫創建專有用戶,該用戶只能訪問mysql目錄,不能訪問系統其它目錄

另外不建議直接用root初始化mysql,否則連接mysql時會報錯:[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

3.給mysql目錄指定專有用戶和用戶組
首先創建data目錄:

cd /usr/local/mysql

mkdir data

指定用戶和用戶組:

cd /usr/local

chown -R mysql mysql/

chgrp -R mysql mysql/

-R包含目錄下所有和目錄和文件

4.初始化mysql

cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

記住生成的臨時密碼
技術分享圖片

如果忘記密碼或者想重新初始化,可以先將mysql/data目錄中文件刪除,然後再執行初始化命令
5.配置my.cnf
從5.7.17後mysql就沒有默認的my_default.cnf文件,需要手動創建

cd /etc

cat>>my.cnf

輸入以下內容,ctrl+D退出

[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/

6.啟動mysql

cd /usr/local/mysql/bin

./mysqld_safe --user=mysql &(回車返回命令行狀態)

7.設為開機啟動

cd /usr/local/mysql/support-files/

cp mysql.server /etc/init.d/mysql

vi /etc/init.d/mysql

將mysql目錄填上:

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

授權:

chmod +x /etc/init.d/mysql

設為開機啟動:

chkconfig --add mysql

service啟動
重啟服務:

service mysql restart

停止服務:

service mysql stop

啟動服務:

service mysql start

查看服務:

service mysql status

8.登錄mysql修改密碼授權遠程登錄

cd /usr/local/mysql/bin

登錄:

mysql -u root -p 輸入臨時密碼

修改密碼:

set password=password("root");

登錄授權:

grant all privileges on . to‘root‘ @‘%‘ identified by ‘root‘

授權生效:

flush privileges

完成!

解決mysql:The server quit without updating PID file