一、環境介紹
系統版本:CentOS 7.6
數據庫版本:mysql-5.7.24
二、環境准備
1、檢查是否已經安裝過mysql,執行命令
rpm -qa | grep mysql
從執行結果,可以看出我們已經安裝了mysql-libs-5.1.73-5.el6_6.x86_64,執行刪除命令
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
再次執行查詢命令,查看是否刪除
rpm -qa | grep mysql
2、查詢所有Mysql對應的文件夾
whereis mysql
find / -name mysql
刪除相關目錄或文件
rm -rf /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /etc/rc.d/init.d/mysql /etc/selinux/targeted/active/modules/100/mysql /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql
驗證是否刪除完畢
whereis mysql
find / -name mysql
3、檢查mysql用戶組和用戶是否存在,如果沒有,則創建(此處使用mysql,也可使用其他任意用戶名)
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql
4、從官網下載是用於Linux的Mysql安裝包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
三、安裝mysql
1、在執行wget命令的目錄下或你的上傳目錄下找到Mysql安裝包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
執行解壓命令:
tar -zxvf ./mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
解壓完成后,可以看到當前目錄下多了一個解壓文件,移動該文件到/usr/local/下,並將文件夾名稱修改為mysql
執行命令如下:
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
如果/usr/local/下不存在mysql文件夾,直接執行如下命令,也可達到上述效果
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
2、在/usr/local/mysql目錄下創建data目錄
mkdir /usr/local/mysql/data
3、更改mysql目錄下所有的目錄及文件夾所屬的用戶組和用戶,以及權限
chown -R mysql:mysql /usr/local/mysql #此處的mysql為我們上面創建的用戶
chmod -R 755 /usr/local/mysql
4、編譯安裝並初始化mysql,務必記住初始化輸出日志末尾的密碼(數據庫管理員臨時密碼)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
5、編輯配置文件my.cnf
vim /etc/my.cnf
添加配置如下(注意:此處的user=mysql為我們上面創建的用戶或者root)
[mysqld]
#character
character-set-server=utf8
collation-server=utf8_general_ci
datadir=/usr/local/mysql/data port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=600 innodb_file_per_table=1 lower_case_table_names=1
[mysqld_safe] datadir=/usr/local/mysql/data log-error=/usr/local/mysql/data/error.log pid-file=/usr/local/mysql/data/mysql.pid user=mysql tmpdir=/tmp !includedir /etc/my.cnf.d
6、測試啟動mysql服務器(使用my.cnf中配置的user或者root執行此命令啟動)
/usr/local/mysql/support-files/mysql.server start
啟動mysql可能會報如下錯誤:
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
解決方法:編輯/etc/init.d/mysql,找到start模塊,添加--user=root到mysqld_safe 即可
vim /etc/init.d/mysql或者是vim /etc/init.d/mysqld
7、添加軟連接,並重啟mysql服務
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
8、登錄mysql,修改密碼(密碼為步驟4生成的臨時密碼)
mysql -u root -p
輸入步驟4生成的臨時密碼
設置密碼
set password for root@localhost = password('root');
9、開放遠程連接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
quit
10、設置開機自動啟動
將服務文件拷貝到init.d下,並重命名為mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
賦予可執行權限
chmod +x /etc/init.d/mysqld
添加服務
chkconfig --add mysqld
顯示服務列表
chkconfig --list
至此,CentOS安裝mysql5.7完成
注:
查看mysql啟動狀態:service mysql status或者/usr/local/mysql/support-files/mysql.server status
啟動mysql:service mysql start或者/usr/local/mysql/support-files/mysql.server start
停止mysql:service mysql stop或者/usr/local/mysql/support-files/mysql.server stop
參考文章:
2、MySql錯誤:Starting MySQL...The server quit without updating PID file(服務器學習十一)