linux下mysql数据库存储目录修改

今天在迁移数据库的时候发现一个问题  linux通过yum安装后的mysql数据库存储在系统盘中,同时也不会做映射方式,就找到一种把数据库直接放到数据盘的方式

做数据库目录迁移需要把mysql服务先停掉

首先需要修改/etc/my.cnf 路径

修改前

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

修改后

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock

[mysqld_safe]
log-error=/logmysql/log/mysqld.log
pid-file=/logmysql/run/mysqld/mysqld.pid

切记一定要在新的文件下创建对应的目录以及子目录(新创建的文件目录需要给定所有权限 chmod 777 /data/mysql)

把/var/lib/mysql下面的数据库复制到/data/mysql下

然后运行mysql_install_db --user=mysql --datadir=/data/mysql

运行后直接启动mysql服务

最后补充一下:修改完目录之后使用mysql -uuser -ppassword 启动mysql是会报错

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

我们需要换一种方式连接mysql   

mysql -uuser -ppwd -S /data/mysql/mysql.sock

然后就和正常的mysql操作一样了!