Linux下修改Mysql数据库存放路径

Linux下修改Mysql数据库存放路径

原路径:/var/lib/mysql

目标路径:/home/data/mysql

1、home目录下建立data目录

cd /home

2、停止mysql进程

3、把/var/lib/mysql整个目录保持权限复制到/home/data

cp -arp /var/lib/mysql/home/data/

4、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/找到my-medium*.cnf文件,拷贝到/etc/并改名为my.cnf

命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf/etc/my.cnf

5、编辑/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改

socket=/var/lib/mysql/mysql.sock 为:

socket=/home/data/mysql/mysql.sock

操作如下:

扫描二维码关注公众号,回复: 16175098 查看本文章

vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)

The MySQL server[mysqld]

port= 3306

#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)

socket = /home/data/mysql/mysql.sock(加上此行)

6、修改MySQL启动脚本/etc/init.d/mysql

搜索datadir将/var/lib/mysql修改成现在的实际存放路径:home/data/mysql

[root@test1 etc]# vi/etc/init.d/mysql

get_mysql_option mysqld datadir “/data/mysql”

最后做一个mysql.sock 链接:

ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock(需要从/home/data/mysql下复制一份过来)

7、重新启动MySQL服务,查看启动状态

service mysqld start
systemctl status mysqld.service

注意:若有错误信息

   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 一 2023-06-26 10:20:40 CST; 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 13028 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 12987 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 13028 (code=exited, status=1/FAILURE)
   Status: "Server shutdown complete"
    Error: 13 (权限不够)

解决办法
步骤1:

vim /etc/selinux/config

步骤2:

SELINUX=enforcing     # 注释掉
SELINUXTYPE=targeted  #注释掉
SELINUX=disabled        #增加

步骤3: 立即生效
setenforce 0

然后再启动Mysqld服务

猜你喜欢

转载自blog.csdn.net/xukaiqiang123/article/details/131392427