您的位置:首页 > 博客中心 > 数据库 >

Centos转移Mysql的数据位置

时间:2022-03-14 09:46



首先,假设我们需要把Mysql的数据存储位置转到到  /data 下面

第一步:

service mysqld stop

第二步:

### 备份原来的 mysql

cp -a /var/lib/mysql /var/lib/mysql_bak

### 转移 mysql
cp -a /var/lib/mysql /data/

转移完成后我们需要修改一些参数让mysql能使用新的地址:

### 备份原来的文件配置信息
cp -a /etc/my.cnf /etc/my.cnf_bak
### 修改原来的配置文件
vi /etc/my.cnf

### 找到 datadir 并把值修改为 :  datadir=/data/mysql
### 找到 socket 并把值修改为 :   socket=/data/mysql/mysql.sock

修改第二个配置文件:

### 备份原来的文件信息
cp -a /etc/init.d/mysqld /etc/init.d/mysqld_bak

### 修改原来的文件信息
vi /etc/init.d/mysqld

### 找到 get_mysql_option mysqld datadir 
### 并把值修改为 : get_mysql_option mysqld datadir "/data/mysql"
### 找到 datadir 并把值修改为 : datadir="/data/mysql"

配置文件修改完成后建立mysql sock 的软连接

### 进入原来的mysql目录
cd /ver/lib/mysql

### 移除里面的内容
rm -rf *

### 建立 mysql.sock 的软连接
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

启动 mysql

service mysqld start

如果出现权限类的问题:

### 修改权限错误的文件或文件夹 如修改:/data/mysql 的文件夹权限命令
chcon -R -t mysqld_db_t /data/mysql

如果修改了相应的文件夹权限还是无法启动

修改系统的权限验证:

vi /etc/selinux/config
### 找到 SELINUX 并把值修改为: SELINUX=disabled
Esc  :wq
### 修改完成保存后重启系统
reboot

注意:以上操作如果是在生产环境中请谨慎操作。。

本类排行

今日推荐

热门手游