您的位置:首页 > 运维架构 > Linux

CentOS下Mysql 改变数据存储路径

2017-11-23 22:37 507 查看

CentOS下Mysql 改变数据存储路径

通过yum安装的mysql会默认将数据存储位置设置在 /var/lib/mysql 下,而这个目录在centos安装时都是系统挂载的磁盘,磁盘大小不会设的很大,当数据库中的数据太多时,就会把该磁盘占满,使得mysql服务强制停止,并没法启动。报错情况可能为“mysql deamon failed to start“,“Timeout error occurred trying to start MySQL Daemon“,“table is full“等。故更改mysql数据库的数据存储位置十分必要。

关闭mysql服务

service mysql stop


建立你自己的数据存储文件夹

cd /home


mkdir mysqldata


文件目录转移

mv /var/lib/mysql /home/mysqldata/


修改my.cnf配置文件

socket=/var/lib/mysql/mysql.sock


设置为:
/home/mysqldata/mysql/mysql.sock


修改MySQL启动脚本/etc/init.d/mysqld

这个文件是一个shell脚本,里面有很多内容,我们需要把所有出现/var/lib/mysql 的位置全部替换为/home/mysqldata/mysql/,可以在vim中使用/var\/lib\/mysql查找。

修改MySQL安全启动脚本/etc/init.d/mysqld_safe

同对mysqld启动脚本的操作。

以上更改完成之后,重启mysql服务。

service mysql start


一般情况下这时已经可以连上mysql,若出现
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
错误,说明有socket的位置仍有错误,简单的做法时建立一个软连接。

ln -s /home/mysqldata/mysql/mysql.sock /var/lib/mysql/mysql.sock
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库