阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux中更改MySQL数据库目录位置

159次阅读
没有评论

共计 1115 个字符,预计需要花费 3 分钟才能阅读完成。

前几天发现由于 MySQL 的数据库太大,默认安装的 /var 盘已经再也无法容纳新增加的数据,只能想办法转移数据的目录。网上有很多相关的文章写到转移数据库目录的文章,但转载的过程中还会有一些错误,因为大部分人根本就没测试过,这篇文章是 Linux 中测试过整理好后分享给大家。

本文是简单整理一下这几天把 MySQL 从 /var/lib/mysql 目录下面转移到 /home/mysql_data/mysql 下面具体操作。

首先我们需要关闭 MySQL,命令如下:

#service mysqld stop

网上有很多人都是用的 mysqladmin -u root -p shutdown,不过我这个是系统安装的是 kloxo 面板,root 密码并不知道,虽然可以重置,但是比较麻烦。

然后是转移数据,为了安全期间,我们采用复制的命令 cp,先找到 mysql 的原目录

#cd /var/lib

#ls

运行这个命令之后就会看到 mysql 的目录了,然后执行 cp 命令

#cp -a mysql /home/mysql_data/

这样就把数据库复制到 /home/mysql_data 下面去了,注意 - a 这个参数一定要带着,否则复制过去的权限就不对了。如果数据库比较大的话,时间会比较长,可能会超时。

然后我们修改配置文件,一共有三个,下面我一一说明:

#vi /etc/my.cnf

打开之后修改 datadir 的目录为 /home/mysql_data/mysql,把 socket 改成 /home/mysql_data/mysql/mysql.sock,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。

#vi /etc/init.d/mysqld

准确的位置是 /etc/rc.d/init.d/mysqld,由于这里这里有一个 /etc/init.d 到 /etc/rc.d/init.d 的映射,所以用上面的命令即可,也简单。

这里主要也是修改 datadir 的目录为 /home/mysql_data/mysql

#vi /usr/bin/mysqld_safe

这里也是修改 datadir 的目录

下面需要建立一个 mysql.sock 的链接:

#ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

至此所有的修改都完成了,下面启动 mysql

#service mysqld start

或者重启 Linux

#reboot

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140231.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1115字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中