新聞中心
一 卸載MariaDB
CentOS7默認(rèn)安裝MariaDB而不是mysql,而且yum服務(wù)器上也移除了MySQL相關(guān)的軟件包。因?yàn)镸ariaDB和MySQL可能會沖突,故先卸載MariaDB。
1. 安裝新版mysql之前,我們需要將系統(tǒng)自帶的mariadb-lib卸載

[root@localhost ~]# rpm -qa | grep -i mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
二 到mysql的官網(wǎng)下載最新版mysql的rpm集合包
mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
通過xshell的rz命令將mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar上傳到Linux系統(tǒng)中。
通過mkdir命令創(chuàng)建mysql目錄,放入解壓后的文件,為以后的安裝做準(zhǔn)備。
解壓壓縮包到mysql目錄
四 安裝MySQL解壓包
注:所有解壓包,不一定需要全部安裝、注意安裝順序
以下是安裝順序 這幾個包由依賴關(guān)系。執(zhí)行有先后其中,client依賴于libs,server依賴于common和client.
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm //
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm //
rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el6.x87_64.rpm //客戶端安裝包
rpm -ivh mysql-community-server-5.7.18-1.el6.x87_64.rpm //服務(wù)端安裝包
rpm -ivh mysql-community-devel-5.7.18-1.el7.x87_64.rpm //包含開發(fā)用的庫頭文件安裝包
注: i-install安裝;v-verbose進(jìn)度條;h-hash哈希校驗(yàn);安裝過程中可能會出現(xiàn) perl 環(huán)境等問題,按提示百度就行。
五 數(shù)據(jù)庫初始化
為了保證數(shù)據(jù)庫目錄為與文件的所有者為 mysql 登陸用戶,如果你的linux系統(tǒng)是以 root 身份運(yùn)行 mysql 服務(wù),需要執(zhí)行下面的命令初始化
[root@localhost mysql]# mysqld --initialize --user=mysql
如果是以 mysql 身份登錄運(yùn)行,則可以去掉 –user 選項(xiàng)。
注: –initialize 選項(xiàng)默認(rèn)以“安全”模式來初始化,則會為 root 用戶生成一個密碼并將該密碼標(biāo)記為過期,登陸后你需要設(shè)置一個新的密碼
這里演示使用的 –initialize 初始化的,會生成一個 root 賬戶密碼,密碼在log文件里,紅色區(qū)域的就是自動生成的密碼
使用 cat /var/log/mysqld.log 命令打開日志文件
六 啟動mysql數(shù)據(jù)庫
注:systemctl是Centos7特有的啟動方式
systemctl start mysqld.service
七 登錄mysql數(shù)據(jù)庫并創(chuàng)建Mysql新密碼
登錄mysql,然后輸入日志中的隨機(jī)密碼。
mysql -u root -p;
設(shè)置你的密碼。
set password = password('你的密碼');
設(shè)置授權(quán)(遠(yuǎn)程訪問)
grant all privileges on *.* to 'root' @'%' identified by'你的密碼';
刷新權(quán)限
flush privileges;
八 其他問題。
如果在初始化時。指定了其他位置的存儲,可以使用
mysqld --initialize --user=mysql --datadir=/data0/data/mysqldb
注:這樣的指定會有其他問題:如 SELinux(CentOS 7 自帶的安全軟件) 操作權(quán)限監(jiān)控告警而操作被阻止等。
九 SELinux安全操作(未測試,待定)
在安裝或者配置過程中,如果修改啟動連接端口(默認(rèn) 3306 )、數(shù)據(jù)存儲路徑(默認(rèn) /var/lib/mysql )等會發(fā)現(xiàn)啟動、重啟或其他操作會被 SELinux 阻止。SELinux的告警提示中可以發(fā)現(xiàn)這些操作是不應(yīng)該訪問的操作類型,原因在于這些操作沒有被配置為被允許運(yùn)行的。
如果需要直接關(guān)閉這些告警即不阻止,可以這么做:
setenforce 0
一般情況下,更多的是配置規(guī)則,而不是直接關(guān)閉;
如果有可視化界面的話,可以從 CentOS 的菜單中(應(yīng)用程序 > 雜項(xiàng) > SELinux 故障排除工具)查看。
在每個告警中有具體的告警問題,其中具體信息中有這么一些提示:
應(yīng)該將這個情況作為 bug 報告。
可以生成本地策略模塊以允許此訪問。
Allow this access for now by executing:
# ausearch -c 'xxxxxx' --raw | audit2allow -M my-xxxxxx
# semodule -i my-xxxxxx.pp
文中提示這里的 bug 可以配置本地策略解除,運(yùn)行這些操作就可以進(jìn)行配置。
不同的配置有不同的方法:
semanage fcontext -a -t mysqld_db_t "/data0/data/mysqldb"
restorecon -Rv "/data0/data/mysqldb"
以上可能不能解決 SELinux 的權(quán)限問題,還有很多需要在運(yùn)行時才會提示的需要后期加入規(guī)則中,詳細(xì)操作還需百度 SELinux 配置 MySQL。
標(biāo)題名稱:CentOS7.3.1611下rpm方式安裝MySQL5.7.18教程
本文URL:http://fisionsoft.com.cn/article/cocgdoh.html


咨詢
建站咨詢
