由于数据的日渐增多,导致服务器系统盘的容量总被占满,从而使mysql服务挂掉。
停止mysql服务
service mysqld stop
复制数据库到新目录
进入mysql 使用show variables like 'datadir' 查看datadir原指向路径
在新的位置新建一个目录,用于存放mysql数据库
例如:
mkdir /data0/mysqldata
将原有数据库复制到新建的目录下,此过程需要稍等一会。
cp -rf /var/lib/mysql /data0/mysqldata/
修改mysql的配置文件 my.cnf,位置一般为 /etc/my.cnf ,修改之前建议先备份。
cp /etc/my.cnf /etc/my.cnf.bak
vim /etc/my.cnf
如果打开my.cnf 为空,说明位置不对。使用 find / -name my.cnf 查询my.cnf的位置。
find / -name my.cnf
打开my.cnf 修改 datadir、socket 路径,其中datadir为转移的目的路径
修改mysql启动脚本 /etc/init.d/mysqld
datadir=/var/lib/mysql 修改为 datadir=/data0/mysqldata/mysql
修改/usr/bin/mysqld_safe
vim /usr/bin/mysqld_safe
DATADIR=/var/lib/mysql 修改为:DATADIR=/data0/mysqldata/mysql
建立软连接
ln -s /data0/mysqldata/mysql/mysql.sock /var/lib/mysql/mysql.sock
修改新建目录的权限归属为mysql
chown -R mysql:mysql /data0/mysqldata/mysql/
然后查询mysql的datadir位置
ok
重启mysql服务
service mysqld start