centos7.1上安裝Mysql5.7.23


2018-09-05

安裝Mysql5.7.23版本的時候遇到了一些問題,不過可能每個人遇到的問題不一樣,多找找才能解決問題喲~

8月底看到百度雲做活動,30塊錢半年我就買了一個,一開始我安裝的是Mysql5.6.22,結果百度雲給我提示說高危漏洞讓我把 Mysql最起碼升級到5.7.23,下面就是安裝的過程了。

  下載MySQL:

1、下載MySQL:https://dev.mysql.com/downloads/mysql/5.7.html#download

  

 

2、網頁需要向下滾一丟丟才能看到下載按鈕,記得第一次來的時候以為必須要注冊才可以下載,o(︶︿︶)o 唉

  

 

3、(1)選擇 1 的話,使用命令下載:

[root@instance ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar

  (2)選擇 2 的話,下載后用Xshell等遠程連接工具放到linux上去

 准備:

 下載的過程別閑着,再開一個窗口來配置一下環境

1、 檢測是否已經安裝了mysql,使用下面命令查看

[root@instance ~]# rpm -qa | grep mysql

 

 如果已經安裝了,將其卸載,如

[root@instance ~]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64

 

2、查看一下 centos7自帶的MariaDB數據庫是否存在

[root@instance ~]# rpm -qa | grep -i mariadb 
mariadb
-libs-5.5.56-2.el7.x86_64

 

 安裝mysql的時候可能會和MariaDB有沖突,所以需要將它干掉

[root@instance ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

 

3、mysql的server端需要perl支持,所以安裝一下

[root@instance ~]# yum install perl -y

 

4、mysql包應該下好了吧。。。先把壓縮包復制到自己建的目錄下,再解壓一下會有12個rpm包

[root@instance ~]# mkdir /usr/local/mysql
[root@instance ~]# cd /usr/local/mysql
[root@instance mysql]# cp  /root/mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar /usr/local/mysql
[root@instance mysql]# tar -xvf  mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar

 [root@instance mysql]# ls
 mysql-community-client-5.7.23-1.el7.x86_64.rpm
 mysql-community-common-5.7.23-1.el7.x86_64.rpm
 mysql-community-devel-5.7.23-1.el7.x86_64.rpm
 mysql-community-embedded-5.7.23-1.el7.x86_64.rpm
 mysql-community-embedded-compat-5.7.23-1.el7.x86_64.rpm
 mysql-community-embedded-devel-5.7.23-1.el7.x86_64.rpm
 mysql-community-libs-5.7.23-1.el7.x86_64.rpm
 mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm
 mysql-community-minimal-debuginfo-5.7.23-1.el7.x86_64.rpm
 mysql-community-server-5.7.23-1.el7.x86_64.rpm
 mysql-community-server-minimal-5.7.23-1.el7.x86_64.rpm
 mysql-community-test-5.7.23-1.el7.x86_64.rpm

 安裝:

 環境什么的都OK了之后就開始安裝了:

 因為解壓出的這些rpm包之間有相互依賴的關系(gay里gay氣的)所以要按照順序去一個一個的安裝

[root@instance mysql]# rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm 
[root@instance mysql]# rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
[root@instance
mysql]# rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
[root@instance
mysql]# rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm

 

 安裝前兩個都好好的,后面第三個安裝的時候報錯了

[root@instance-6z7m60u3 mysql]# rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.23-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-libs(x86-64) >= 5.7.9 is needed by mysql-community-client-5.7.23-1.el7.x86_64 

 

 解決方法是在命令后面增加 2 個參數( --nodeps --force )破壞他們之間的依賴關系

[root@instance mysql]# rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm --nodeps --force
warning: mysql
-community-client-5.7.23-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [
100%] Updating / installing... 1:mysql-community-client-5.7.23-1.e################################# [100%]

 

 問題解決了,正常安裝最后一個rpm包

[root@instance mysql]# rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.23-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [
100%] Updating / installing... 1:mysql-community-server-5.7.23-1.e################################# [100%]

 

  初始化:

 首先將mysql添加到系統服務中去

[root@instance mysql]# systemctl start mysqld.service

 

 啟動mysql服務

[root@instance mysql]# service mysqld start

 

 這時候如果想登陸,是不知道密碼的,所以需要查看一下初始密碼

[root@instance mysql]# cat /var/log/mysqld.log

   

 

 使用這個初始密碼進行登陸,然后把密碼改一下

[root@instance mysql]# mysql -u root -p 
Enter password:
mysql> set password = password('密碼密碼密碼');
Query OK, 0 rows affected, 1 warning (0.00 sec) 

 

 為了方便以后使用SQLyog等數據庫軟件遠程連接,需要開啟外部遠程訪問權限

mysql> grant all privileges on *.* to 'root' @'%' identified by '密碼密碼密碼!';
Query OK, 0 rows affected, 1 warning (0.00 sec)

 

 再立即刷新一下

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit;
Bye

 

 這時候如果使用遠程數據庫軟件進行連接還是會失敗,因為沒有開啟3306端口,來開啟一下

[root@instance mysql]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

 

 在保存本次更改的時候出錯了

[root@instance mysql]# /etc/rc.d/init.d/iptables save
-bash: /etc/rc.d/init.d/iptables: No such file or directory

  

 這是因為防火牆沒開,查看一下,還真是防火牆沒開

[root@instance mysql]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
  Active: inactive (dead)

 

 再來開啟一下防火牆

[root@instance mysql]# systemctl start firewalld
[root@instance mysql]# systemctl status firewalld
 firewalld.service - firewalld - dynamic firewall daemon
  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
  Active: active (running) since Wed 2018-09-05 19:05:13 CST; 7s ago
 Main PID: 33978 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─33978 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Sep 05 19:05:12 instance-6z7m60u3 systemd[1]: Starting firewalld - dynamic firewall daemon...
Sep 05 19:05:13 instance-6z7m60u3 systemd[1]: Started firewalld - dynamic firewall daemon.

 

 防火牆開啟成功后,接着開啟3306端口,並且再刷新一下防火牆

[root@instance mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@instance mysql]# firewall-cmd --reload
success

 

  使用navicat測試連接一下,連接成功了!

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM