下載
-
操作系統:centos7 mysql版本:mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar 下載地址:https://dev.mysql.com/downloads/mysql
解壓
-
tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar mysql-community-client-5.7.30-1.el7.x86_64.rpm mysql-community-common-5.7.30-1.el7.x86_64.rpm mysql-community-devel-5.7.30-1.el7.x86_64.rpm mysql-community-embedded-5.7.30-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.30-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.30-1.el7.x86_64.rpm mysql-community-libs-5.7.30-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm mysql-community-server-5.7.30-1.el7.x86_64.rpm mysql-community-test-5.7.30-1.el7.x86_64.rpm
安裝前檢查卸載
-
檢查安裝目錄
whereis mysql mysql: /usr/lib64/mysql /usr/share/mysql rm -rf /usr/lib64/mysql /usr/share/mysql
-
檢查卸載系統自帶的mariadb,並卸載
rpm -qa | grep mariadb mariadb-libs-5.5.65-1.el7.x86_64 # 卸載 rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps # 檢查是否卸載乾淨 rpm -qa | grep mariadb
-
檢查有無mysql歷史殘留
rpm -qa | grep mysql # 沒有則跳過 mysql-community-libs-5.7.30-1.el7.x86_64 mysql-community-server-5.7.30-1.el7.x86_64 mysql-community-client-5.7.30-1.el7.x86_64 mysql-community-libs-compat-5.7.30-1.el7.x86_64 # 卸載 rpm -e mysql-community-libs-5.7.30-1.el7.x86_64 --nodeps rpm -e mysql-community-server-5.7.30-1.el7.x86_64 --nodeps rpm -e mysql-community-client-5.7.30-1.el7.x86_64 --nodeps rpm -e mysql-community-libs-compat-5.7.30-1.el7.x86_64 --nodeps # 檢查是否卸載乾淨 rpm -qa | grep mysql
安裝依賴
-
yum -y install setup yum -y install perl # 安裝mysql-server要求的依賴 yum -y install net-tools # 安裝mysql-server時候要求的依賴 yum -y install libaio # 安裝mysql-server時候要求的依賴
安裝Mysql數據庫
-
# 按順序進行 1、 rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm 2、 rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm 3、 rpm -ivh mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm 4、 rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm --force 5、 rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm --force
啓動Mysql
-
啓動
service mysqld start
-
報錯
Redirecting to /bin/systemctl start mysqld.service Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
-
查看狀態
service mysqld status
-
原因:未初始化用戶
mysqld --initialize --user=mysql
-
初始化目錄下有文件,必須刪除目錄下的內容
# 查看目錄路徑 vi /etc/my.cnf
-
備份該目錄(防止出錯後恢復),然後將其內容刪除
mv /var/lib/mysql /var/lib/mysql_bak
cd /var/lib/mysql rm -rf *
-
重新初始化用戶
mysqld --initialize --user=mysql
-
啓動
Mysql
service mysqld start 或者 systemctl start mysqld.service
-
查看系統生成的臨時密碼
grep 'temporary password' /var/log/mysqld.log
2020-05-14T03:34:52.940593Z 1 [Note] A temporary password is generated for root@localhost: :D:*RNh3xrfD 2020-05-14T03:37:16.941130Z 1 [Note] A temporary password is generated for root@localhost: >r_MserC?0/f
-
登錄
mysql -uroot -p Enter password: >r_MserC?0/f ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
-
再次重啓
Mysql
試試service mysqld restart
-
登錄
mysql -uroot -p Enter password: >r_MserC?0/f
修改密碼
-
mysql> ALTER USER 'root'@'localhost' IDENTIFIED by 'Password'; mysql> flush privileges; mysql> exit Bye
使用密碼登錄
-
mysql -uroot -p Enter password: Password
設置開機自啓
-
systemctl enable mysqld
-
查看是否開啓成功
systemctl list-unit-files