yum 安裝MySql與變更存儲路徑
本次實驗所需系統環境:
[root@mysql-server-01 ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.7.1908 (Core)
Release: 7.7.1908
Codename: Core
[root@mysql-server-01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.6.48, for Linux (x86_64) using EditLine wrapper
開始安裝
-
yum安裝是最簡便和穩定的安裝方式,centos7默認安裝的是mariadb,需要先卸載mariadb,先查看是否安裝mariadb
rpm -qa | grep mariadb
如果找到,則拷貝結果,使用下面命令刪除,如刪除mariadb-libs-5.5.35-3.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
卸載以後可以重新執行命令查看是否有安裝mariadb。如果沒有請繼續
-
安裝源,會在 /etc/yum.repos.d/ 下生成 mysql-community.repo 文件
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
-
安裝源
rpm -ivh mysql-community-release-el7-5.noarch.rpm
-
查看源是否生效並安裝
yum repolist all | grep mysql
yum install mysql-server
-
配置開機啓動
systemctl enable mysqld.service
6.此處不要着急啓動mysql,先來修改配置文件,變更mysql的存儲路徑爲自定義路徑;經驗證,此處沒有手動創建的會自動生成。可忽略此處配置,直接修改my.cnf文件就好。
mkdir /data/mysql //創建自定義路徑並修改權限和屬組
chown 755 -R /data/mysql && chmod mysql:mysql /data/mysql
vim /etc/my.cnf
20 datadir=/data/mysql //修改這行爲自定義路徑,sock的路徑可以保持默認
-
附上一份原來的配置。
-
修改啓動腳本,原來的是/var/lib/mysql,本次都改成/data/mysql/,也可以根據你的路徑修改,修改的時記得對比原來的改。
vim /usr/bin/mysql-systemd-start
22 datadir=$(get_option mysqld datadir "/data/mysql")
25 if [ ! -d "$datadir" -a ! -h "$datadir" -a "x$(dirname "$datadir")" = "x/data" ]; then
36 if [ -x /usr/sbin/semanage -a -d /data/mysql -a -d $dir ] ; then
37 /usr/sbin/semanage fcontext -a -e /data/mysql $dir >/dev/null 2>&1
55 datadir=$(get_option mysqld datadir "/data/mysql")
還是這個配置文件,把這個循環註釋或者刪除掉
-
修改完後還不能着急啓動,關閉selinux和防火牆,尤其是第一個,不關閉mysql啓動會報錯。
[root@myc-test ~]# getenforce
Enforcing
[root@myc-test ~]# setenforce 0
[root@myc-test ~]# getenforce
Permissive
[root@myc-test ~]# firewall-cmd --state
running
[root@myc-test ~]# systemctl stop firewalld.service
[root@myc-test ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@myc-test ~]# firewall-cmd --state
not running
-
好了,此時可以啓動mysql服務了。去你的自定義路徑下看是否有mysql初始化生成的文件
systemctl start mysqld.service
本次實驗到此結束!!