yum 安裝MySql與變更存儲路徑

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

開始安裝

  1. 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。如果沒有請繼續

  1. 安裝源,會在 /etc/yum.repos.d/ 下生成 mysql-community.repo 文件

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  1. 安裝源

rpm -ivh mysql-community-release-el7-5.noarch.rpm
  1. 查看源是否生效並安裝

yum repolist all | grep mysql
yum install mysql-server
  1. 配置開機啓動

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的路徑可以保持默認

 

  1. 附上一份原來的配置。

  1. 修改啓動腳本,原來的是/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")

還是這個配置文件,把這個循環註釋或者刪除掉

  1. 修改完後還不能着急啓動,關閉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
  1. 好了,此時可以啓動mysql服務了。去你的自定義路徑下看是否有mysql初始化生成的文件

systemctl start mysqld.service

 

本次實驗到此結束!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章