netnr/ mysql-datadir.sh 2020-09-03 06:48
CentOS 更改 MySQL 数据存储路径(datadir)
# 登录mysql,查看默认存储路径,一般在 /var/lib/mysql
show global variables like '%datadir%';

# 停止数据库
systemctl stop mysqld
# 创建新的数据存储目录
mkdir -p /package/mysqldata
# 拷贝到新目录
cp -a -r /var/lib/mysql/* /package/mysqldata
# 修改属主为 mysql 设置权限 chmod 750 /package/mysqldata
chown -R mysql:mysql /package/mysqldata
# 备份原数据目录
mv /var/lib/mysql /var/lib/mysqlbak
# 创建软链接,不需要修改数据库配置文件。
ln -s /package/mysqldata /var/lib/mysql
# 修改软连接属主
chown -h mysql:mysql /var/lib/mysql
# 启动数据库
systemctl start mysqld


# 不使用软链接,修改配置
vi /etc/my.cnf

datadir=/package/mysqldata
socket=/package/mysqldata/mysql.sock

# 重新初始化配置内容
mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

systemctl start mysqld # 启动服务
systemctl status mysqld.service # 查看服务状态

ln -s /package/mysqldata/mysql.sock /var/lib/mysql/mysql.sock # 设置软链接 mysql.sock是服务启动时候生成的文件

mysql -uroot -p # 登录 再使用查询命令看 datadir 是否修改成功