• Centos 7 更改 Mysql 5.7 默认数据库存储路径


    1.查看数据默认的存储路径

    默认在【/var/lib/mysql/】

    # 查看
    [root@centosServer ~]# mysql -uroot -p
    
    mysql> show global variables like '%datadir%';
    
    • 1
    • 2
    • 3
    • 4

    2.关闭mysql服务

    # 关闭
    [root@centosServer ~]# systemctl stop mysqld.service
    # 查看是否关闭成功
    [root@centosServer ~]# systemctl status mysqld.service
    
    • 1
    • 2
    • 3
    • 4

    3.数据库迁移

    3.1首先创建要迁移的目标文件夹

    # 创建仓库文件夹
    [root@centosServer ~]# mkdir -p /home/mysql/mysql_data
    # 授权,将目录的user和group变更为mysql
    [root@centosServer ~]# chown -R mysql:mysql /home/mysql/mysql_data
    
    • 1
    • 2
    • 3
    • 4

    3.2然后执行迁移
    注意: -a 参数在复制的时候可以把权限复制到目标文件夹
    如果数据库比较大,可能会超时,具体设置ssh不超时的办法,请百度!

    # 迁移目录
    [root@centosServer ~]# mv /var/lib/mysql  /home/mysql/mysql_data
    # 或者
    [root@centosServer ~]# cp -a /var/lib/mysql /home/mysql/mysql_data
    
    • 1
    • 2
    • 3
    • 4

    4.修改配置文件my.cnf

    编辑vi /etc/my.cnf文件,修改datadir和socket路径,然后ESC退出:wq保存

    # 编辑my.cnf文件
    [root@centosServer ~]# vi /etc/my.cnf
    
    [mysqld]
    datadir=/home/mysql/mysql_data/mysql
    socket=/home/mysql/mysql_data/mysql/mysql.sock
    
    [client]
    default-character-set = utf8
    socket=/home/mysql/mysql_data/mysql/mysql.sock
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述
    在这里插入图片描述

    5.配置SELinux的semanage

    # 查看mysqld_db_t默认配置
    semanage fcontext -l|grep mysqld_db_t
    # 默认值:semanage fcontext -a -t mysqld_db_t "/path/to/my/custom/datadir(/.*)?"
    semanage fcontext -a -t mysqld_db_t "/home/mysql/mysql_data/mysql(/.*)?"
    # 默认值:restorecon -Rv /path/to/my/custom/datadir
    restorecon -Rv /home/mysql/mysql_data/mysql
    # 查看mysqld_db_t修改后配置
    semanage fcontext -l|grep mysqld_db_t
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    6.重启服务

    [root@centosServer ~]# systemctl start mysqld.service
    # 或者
    [root@centosServer ~]# systemctl restart mysqld.service
    
    • 1
    • 2
    • 3

    7.验证结果

    [root@centosServer ~]# mysql -uroot -p
    
    mysql> show global variables like '%datadir%';
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    8.参考网址

    Mysql官网:https://dev.mysql.com/doc/refman/5.7/en/selinux-file-context.html

  • 相关阅读:
    mysql聚合查询
    Java的Map中的map.keySet()方法
    如何自学java怎么入门?我有秒招
    HHDBCS监控功能
    使用C接口访问MySQL数据库
    正点原子嵌入式linux驱动开发——Linux按键输入
    商城数据库设计说明书
    汇聚荣拼多多电商好不好?
    正则表达式总结与应用
    Electron+React如何进行通信
  • 原文地址:https://blog.csdn.net/m0_37048012/article/details/126076788