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

 

本次实验到此结束!!

你可能感兴趣的:(运维,mysql)