前几天发现由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,只能想办法转移数据的目录。网上有很多相关的文章写到转移数据库目录的文章,但转载的过程中还会有一些错误,因为大部分人根本就没测试过,这篇文章是Linux中测试过整理好后分享给大家。
本文是简单整理一下这几天把MySQL从/var/lib/mysql目录下面转移到/home/data/mysql下面具体操作。
首先我们需要关闭MySQL,命令如下:
#systemctl stop mariadb.service
然后是转移数据,为了安全期间,我们采用复制的命令cp,先找到mysql的原目录
#cd /var/lib
然后执行cp命令
#cp -a mysql /home/data/
这样就把数据库复制到/home/data下面去了,注意-a这个参数一定要带着,否则复制过去的权限就不对了。如果数据库比较大的话,时间会比较长,可能会超时。
然后我们修改配置文件,下面我一一说明:
#vi /etc/my.cnf
打开之后修改datadir的目录为/home/data/mysql,把socket改成/home/data/mysql/mysql.sock,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。
#vi /usr/bin/mysqld_safe
这里也是修改datadir的目录
下面需要建立一个mysql.sock的链接:#优化
#ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
至此所有的修改都完成了,下面启动mysql
#systemctl start mariadb.service
或者重启Linux
#reboot
重启后或者这样登录数据库
mysql -S /home/data/mysql/mysql.sock -u root -p123456 # 大写S
查看储存目录