CentOS 7 用yum安裝 MySQL

鄭志成發表於2020-11-28

首先CentOS7 已經不支援mysql,因為收費了你懂得,所以內部整合了mariadb,而安裝mysql的話會和mariadb的檔案衝突,所以需要先解除安裝掉mariadb,以下為解除安裝mariadb,安裝mysql的步驟。

1.列出所有被安裝的rpm package

$ rpm -qa | grep mariadb

 2.解除安裝

$ rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64  // 注意“版本號”根據當前系統顯示的版本資訊的為準

 解除安裝過程中如有以下提示,則可以通過強制解除安裝

錯誤:依賴檢測失敗:
libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

 強制解除安裝:

$ rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64 // 只是多了一個  --nodeps 引數,注意“版本號”根據當前系統顯示的版本資訊的為準

 3.安裝依賴項

$ yum install vim libaio net-tools

 其他情況:

  1.centos下yum暫時沒有mysql-server直接安裝包;

     MariaDB是MySQL社群開發的分支,也是一個增強型的替代品;

  2.安裝MariaDB

$ yum -y install mariadb-server mariadb mariadb-devel
$ systemctl start mariadb
$ systemctl enable mariadb
$ mysql_secure_installation
$ firewall-cmd --permanent --add-service mysql
$ systemctl restart firewalld.service
$ iptables -L -n|grep 3306

 4.安裝 mysql的repo源

  4.1 下載mysql的repo源

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

    4.2 安裝mysql-community-release-el7-5.noarch.rpm包

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
// 安裝這個包後,會獲得兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

       4.3 安裝 mysql

$ sudo yum install mysql-server

  根據步驟安裝就可以了,不過安裝完成後,沒有密碼,需要重置密碼。

  4.4 重置密碼

    重置密碼前,首先要登入

$ mysql -u root

  4.5 mysql 登入報錯處理

    登入時有可能報這樣的錯:

    ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),

    原因是/var/lib/mysql的訪問許可權問題。下面的命令把/var/lib/mysql的擁有者改為當前使用者:

$ sudo chown -R openscanner:openscanner /var/lib/mysql    // openscanner:openscanner 為當前登入CentOS的使用者名稱,例如: root:root

     然後,重啟服務:

$ service mysqld restart

    接下來登入重置密碼:

$ mysql -u root

mysql > use mysql;

mysql > update user set password=password(‘123456‘) where user=‘root‘;

mysql > exit;

 5.開放防火牆 3306埠

  5.1 檢視防火牆狀態

$ systemctl status firewalld

    5.2 開啟防火牆 服務

$ systemctl start firewalld

  5.3 開放指定埠

// --permanent 永久生效,沒有此引數重啟後失效
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent 
或者
$ firewall-cmd --zone=public --add-port=3300-3399/tcp --permanent

  5.4 重新載入

$ firewall-cmd --reload

  5.5 檢視狀態

$ firewall-cmd --zone=public --query-port=3306/tcp

   5.6 刪除某個開放的埠

$ firewall-cmd --zone=public --remove-port=80/tcp --permanent

   5.7 iptables 防火牆

    也可以還原傳統的管理方式使用 iptables

$ systemctl stop firewalld  
$ systemctl mask firewalld  

   5.7.1 安裝 iptables-services

$ yum install iptables-services  

     5.7.2 設定開機啟動

$ systemctl enable iptables

   5.7.3 操作命令

$ systemctl stop iptables  
$ systemctl start iptables  
$ systemctl restart iptables  
$ systemctl reload iptables 

   5.7.4 儲存設定

$ service iptables save

   5.7.5 放某個埠 在 /etc/sysconfig/iptables 裡新增

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080

 

相關文章