下載mysql5.7,系統選擇redhat,版本選擇RHEL7,下載RPM Bundle后得到一個tar文件。這里得到文件mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar,接下來解出文件。
tar -xf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar
因為是離線環境,建議在使用yum命令前先用以下命令清除本地mirrorlist
yum clean expire-cache
如果不執行上述命令系統可能會耗費大量時間嘗試聯網查找需要的包(反復提示"正在嘗試其它鏡像")。
接下來安裝mysql
yum localinstall -y install mysql-community-{server,client,common,libs}-*
提一句,這里官網的命令后面多了個 mysql-5.*,但我自己並沒有看到匹配上的安裝包,所以我選擇省略。
如果yum命令用不了可以用rpm -i
來安裝,如下
for comp in common libs devel libs-compat client server;
do
find -regex .*mysql-community-$comp.*\.rpm | xargs rpm -i;
done
安裝完成后可通過以下命令查看是否安裝成功,
rpm -qa | grep mysql
接下來介紹兩種辦法配置並啟動服務。
方法一:[開始]
在啟動服務之前我們先修改配置文件/etc/my.cnf
,在mysqld這節中加上如下配置禁用validate_password
插件
validate_password=OFF
此插件默認啟用,默認安全級別為1,會對密碼有較嚴格的要求,密碼需要特殊字符,大寫字母,小寫字母,字母組合,並且不小於8位,否則會提示
Your password does not satisfy the current policy requirements
關於安全級別詳情參看Password Validation Plugin Options and Variables
修改完成配置文件后,直接啟動服務即可
service mysqld start
啟動服務會自動初始化data文件夾,默認密碼記錄在/var/log/mysqld.log
,通過命令可快速查看
grep 'temporary password' /var/log/mysqld.log
方法一:[結束]
方法二:[開始]
用以下命令手動初始化data文件夾,如果需要修改/etc/my.cnf
文件請在執行以下命令之前修改
mysqld --user=mysql --initialize-insecure
注意在使用此命令之前不要啟動服務,如果啟動了則需要停止服務並清空data目錄下的文件再重新執行以上命令初始化data文件夾。
完成后則可直接啟動mysqld服務
service mysqld start
這種方法初始化默認密碼為空字符串
方法二:[結束]
接下來即可通過命令行登錄了,我們需要修改密碼
mysql -uroot -p
登陸后使用如下命令即可修改root密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意這里的root是localhost
的root
如果需要通過ip登錄則需要額外創建一個用戶
CREATE USER 'root'@'%' IDENTIFIED BY 'MyNewPass6!';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
以上代碼新創建了一個允許任意host登錄的root用戶並授權,這里雖然也叫root但其實和localhost的root是兩個不同的用戶,當然也可以叫別的名字
如果要卸載mysql,則
yum remove 'mysql-community-*'
rm -rf /var/lib/mysql /var/log/mysqld.log
如果yum用不了可以用rpm -e
來卸載,如下
for comp in server client libs-compat devel libs common;
do
rpm -e mysql-community-$comp;
done
Installing MySQL on Linux Using RPM Packages from Oracle
CentOS7離線安裝MySQL