使用linux下的软连接方法,具体 *** 作如下:(以迁移到/date/mysql/目录为例)
其实和方法一基本相同,方法一是把数据目录迁移后建立一个软链接到原始路径,方法二则彻底抛弃原目录,修改配置文件指向新目录。
先按照方法一把数据目录迁移到新的位置,然后需要修改以下配置文件:
参考 :
https://zhidao.baidu.com/question/2010855910345290308.html
https://blog.csdn.net/qinxiandiqi/article/details/43270147
想知道你的mysql装在哪里吗?CentOS7一般是装在/var/lib/mysql中的
在完成迁移之前,先用下面的指令来停止mysqld服务
service mysqld stop,或者直接点sudo systemctl stop mysqld
然后用df-h指令看服务器上剩余空间是多少,假设我们新挂了一块500G的硬盘到/data上
那么请把mysql整个文件夹拷贝到/data中,像下面这样:
sudo cp -rf /var/lib/mysql /data/mysql,拷完以后原来的mysql文件夹就可以删除了
然后再修改/etc/my.cnf,这个也是需要su的:
sudo vi /etc/my.cnf
里面有一个字段叫[mysqld],将datadir和socket修改成这样:
datadir=/data/mysql
socket=/data/mysql/mysql.sock
接下来,有的人说要修改/etc/init.d/mysqld,但我的服务器不需要,直接通过
service mysqld start就可以启动SQL服务了,远程也可以连接上,但是:
当你使用终端mysql -u root -p的时候,就会报下面这个错:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
这个时候,你有两种解决办法,一种是造一个软连接
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock,原因是你已经删掉之前的mysql目录了
另外一种办法,是在/etc/my.cnf下面新建一个新字段:
[mysql]
socket=/data/mysql/mysql.sock
第一种方法不需要重启mysql server,第二种方法需要重启mysql server,
然后,你就可以成功地从终端里进入mysql了
敲黑板,不要在[mysql]下面自做主张地写上datadir=/data/mysql,这样会导致本地命令行登录时报错:Unknown Variable: datadir=/data/mysql
默认mysql是安装在/var/lib/mysql目录下,但是一般只有15G空间,令人至疯,所以装完必须迁移
cd /homemkdir data
mysqladmin -u root -p shutdown
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
最后,需要修改MySQL启动脚本/etc/init.d/mysqld,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/init.d/mysql#datadir=/var/lib/mysql(注释此行)datadir=/home/data/mysql (加上此行)
如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;
最后 做一个mysql.sock 链接:
in -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
7、重新启动MySQL服务
/etc/init.d/mysql start或者service mysql restart
8、修改整个目录权限
chown -R mysql:mysql /home/data/mysql/
chmod -R 777 /home/data/mysql/*
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)