更改mysql的data目录

14 年 ago jony 更改mysql的data目录已关闭评论

先参考这里的方法操作:

http://www.osyunwei.com/archives/566.html

本方法是针对通过yum安装的mysql。如果是编译安装的,可以直接指定data目录

主要就是修改datadir目录

1.先停止mysql运行

serice mysqld stop

2.然后进入到/var/lib/mysql,复制数据,为了安全起见,要用cp -a,这样所有的属性都会一起复制过去

cd /var/lib/

cp -a mysql /ebs/            #ebs 目标目录

3.修改配制文件   /etc/my.cnf

找到:datadir=/var/lib/mysql

修改成:

datadir=/ebs/mysql

找到:socket=/var/lib/mysql/mysql.sock

4.在/etc/rc.d/init.d//mysqld找到:get_mysql_option mysqld datadir "/var/lib/mysql"修改成:

get_mysql_option mysqld datadir "/ebs/mysql"

5.ln -s /ebs/mysql/mysql.sock /var/lib/mysql/mysql.sock

启动:service mysqld start

如果能正常启动,说明修改成功

操作完成后,启动数据库会出问题,哪是因为selinux的问题,把selinux关闭掉,就能解决

[root@data selinux]# getenforce
Enforcing
[root@data selinux]# setenforce 0
[root@data selinux]# getenforce
Permissive

setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式

彻底关闭,vi /etc/selinux/config 修改 SELINUX=disabled

必须永久关闭,这样重启服务器以后,mysql也能顺利启动

 

在centos 7中,把data目录放在/root  /home /run/user目录时,会出现:[Warning] Can't create test file /home/mysql/MyCloudServer.lower-test

查了很多资料都是互相抄来抄去的,最终找到:

https://yq.aliyun.com/ziliao/115684

CentOS7。但是失败了,重装了系统,重装以后挂载好数据盘后发现MariaDB起不来了,查journal log,只有一行warning

html;"> can't create test file /var/lib/mysql/core.lower-test

解决方法

在网上查了一下,有两种方案

第一是说selinux导致的,但是ucloud的镜像默认就是关闭selinux的,所以不是这个问题

第二说是apparmor限制了进程的目录读写,但是那是Ubuntu下默认安装的,CentOS下没有这个东西,所以也不是这个问题。

其他文件权限之类的都检查过了,而且是直接继承的旧磁盘数据,也不会出现问题。

这时我发现,如果直接用mysqld_safemysqld命令,跳过systemctl启动进程,能够让MariaDB正常起来,于是就去检查/etc/systemd/system/multi-user.target.wants/mariadb.service

发现其中有一行

ProtectHome=true

注释是

# Prevent accessing /home, /root and /run/user

而我的datadir=/home/mysql

于是把它改成false,就能够正常启动服务了

#mysql -u root -p

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

方法:    修改/etc/my.conf:
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/usr/local/mysql

[client]
socket=/var/lib/mysql/mysql.sock
https://blog.csdn.net/shenwansangz/article/details/48574805