1. 程式人生 > 其它 >Linux環境 MySql詳細安裝、解除安裝步驟

Linux環境 MySql詳細安裝、解除安裝步驟

Linux系統版本CentOS Linux release 7.5.1804

安裝的是mysql5.7.24版本rpm包

一、安裝

1.下載MySQL安裝包

安裝包下載地址:https://downloads.mysql.com/archives/community/

2.詳細過程如下(一個一點也不靈活的指令碼)

#!/bin/bash
echo '建立使用者目錄並賦權'
useradd mysql -d /usr/local/mysql

echo '刪除CentOS7自帶的第三方庫'
#rpm -qa | grep mariadb
#rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
echo '環境及依賴安裝'
#yum -y install autoconf
#yum -y install perl perl-devel
#yum -y install libaio
#yum -y install net-tools
#yum -y install perl

echo '建立MySQL倉庫位置'
mkdir -p /data/mysql
echo '倉庫賦權'
chown -R mysql:mysql /data/**

echo '按照依賴關係依次安裝 rpm 包,依賴關係依次為 common→libs→client→server。使用命令rpm -ivh {-file-name}進行安裝操作。'
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm

echo '設定初始化引數'
cd /usr/sbin
./mysqld \
--initialize \
--user=mysql \
--basedir=/usr/local/mysql
#【這個沒弄明白】這個basedir是和mysql啟動相關的,但是我這裡面是空的

echo '初始化安裝'
cd /usr/bin
./mysql_install_db \
--user=mysql \
--datadir=/data/mysql

echo '啟動MySQL服務'
systemctl start mysqld
echo '檢視MySQL服務狀態'
systemctl status mysqld
echo '檢視MySQL服務程序資訊'
ps -ef|grep mysql

echo '檢視系統埠情況'
netstat -lnpt
echo '檢視允許訪問的埠列表'
firewall-cmd --list-ports
echo '新增3306埠永久可訪問'
firewall-cmd --zone=public --add-port=3306/tcp --permanent
echo '重新整理防火牆列表'
firewall-cmd --reload

echo '檢視MySQL服務是否開機自啟動'
systemctl list-units | grep mysqld

echo '列印MySQL初始密碼'
grep "password is generated for" /var/log/mysqld.log
cat /root/.mysql_secret
echo '初始密碼登入myql服務端,更改初始密碼為/root/.mysql_secret中的密碼(如果不一樣的話)'
mysql -u root -p

echo '使用/root/.mysql_secret中的密碼配置MySQL安全策略'
mysql_secure_installation
#No #密碼安全級別校驗
#y #是否更改當前密碼
#123456 #首次輸入密碼
#123456 #再次輸入密碼
#y #刪除任何人可訪問的隱匿賬號
#y #設定root賬戶可遠端訪問
#y #刪除當前測試資料庫
#y #立即重新整理許可權表,是當前配置立即生效

echo '使用新設定的密碼,登入myql服務端'
mysql -u root -p

3.使用者操作的相關sql語句示例

-- 重新整理許可權配置
flush privileges;
-- 修改使用者密碼
alter user 'root'@'%' identified by '123456';
-- 建立使用者
CREATE USER query@'%' IDENTIFIED BY '123456';
-- 給使用者賦許可權,可以查詢db_test的table_test表
GRANT SELECT ON db_test.table_test TO 'query'@'%';
GRANT SHOW VIEW ON db_test.table_test TO 'query'@'%';
-- 給使用者db_test的所有許可權
grant all privileges on db_test to query@'%';
-- 給使用者高階DBA管理MySQL中所有資料庫的許可權
grant all on *.* to query@’localhost’

二、解除安裝

#!/bin/bash
echo '列印已安裝的MySQL包'
rpm -qa | grep -i mysql
echo '關閉MySQL服務'
systemctl stop mysqld
echo '按順序解除安裝MySQL包'
rpm -e mysql-community-server-5.7.24-1.el7.x86_64
rpm -e mysql-community-client-5.7.24-1.el7.x86_64
rpm -e mysql-community-libs-5.7.24-1.el7.x86_64
rpm -e mysql-community-common-5.7.24-1.el7.x86_64

echo '檢視MySQL使用者及使用者組'
more /etc/passwd | grep mysql
more /etc/shadow | grep mysql
echo '刪除MySQL使用者及使用者組'
userdel -r mysql

echo '列印已安裝的MySQL包'
rpm -qa | grep -i mysql

echo '查詢殘留的MySQL檔案及資料夾'
find / -name mysql
echo '【危險!】刪除所有名叫MySQL的檔案及資料夾'
rm -rf /**/mysql
rm -rf /**/*/mysql

可能遇到的問題

1.第三方庫衝突

安裝mysql資料庫時,需要rpm安裝libs,問題原因就是安裝libs時系統存在mariadb的系統包

rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
#得到錯誤提示如下:
#warning: mysql-community-libs-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
#error: Failed dependencies:
#mariadb-libs is obsoleted by mysql-community-libs-8.0.18-1.el7.x86_64

#檢視系統中的mariadb
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64
#得到錯誤提示如下:
#提示有第三方庫存在
#error: Failed dependencies:
#libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-7.el7.x86_64
#libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-7.el7.x86_64

#解決辦法強制刪除:
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2.如果中途安裝失敗可能會遇到如下錯誤

#error: Failed dependencies:
#    mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.36-1.el7.x86_64
#    mariadb-libs is obsoleted by mysql-community-libs-5.7.36-1.el7.x86_64

#解決方案,執行如下命令
yum remove mysql-libs 
#清除之前安裝過的依賴即可,最後重新安裝下。

3.缺少安裝mysql5.7所需要的依賴

yum -y install libaio
yum -y install net-tools
yum -y install perl

# 安裝順序
# common --> libs --> clients --> server
# 安裝命令
rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm mysql-community-libs-5.7.19-1.el6.x86_64.rpm mysql-community-client-5.7.19-1.el6.x86_64.rpm mysql-community-server-5.7.19-1.el6.x86_64.rpm`