首先,假设我们需要把Mysql的数据存储位置转到到 /data 下面
第一步:
service mysqld stop
第二步:
### 备份原来的 mysqlcp -a /var/lib/mysql /var/lib/mysql_bak### 转移 mysqlcp -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=disabledEsc :wq### 修改完成保存后重启系统reboot
注意:以上操作如果是在生产环境中请谨慎操作。。