Ubuntu下更改MySQL数据库文件的目录
公司的ubuntu服务器对于各个系统的目录是放在不同的逻辑分区上的,比如存放mysql数据库文件的默认目录/var/lib/mysql所在的系统目
公司的Ubuntu服务器对于各个系统的目录是放在不同的逻辑分区上的,比如存放mysql数据库文件的默认目录/var/lib/mysql所在的系统目录/var/单独在一个分区上,但是这个分区的大小是固定的,不足以存放整个数据库文件。但是另一个系统目录/data大小却达到T级,,大大满足了需求,因此有了更改数据库文件目录的需求。以下是我参考网络上一些文章进行尝试的过程:
1.停止数据库服务:
使用/etc/init.d/mysql stop 或者 stop mysql
2. 在目标位置(/data)创建数据库文件的目录(如/mysqldb),并复制(如果不再使用默认的位置,则可以直接mv原先数据库文件到新目录下)原先的数据库文件目录到该目录下:
cd /data
mkdir mysqldb
cp -r /var/lib/mysql /data/mysqldb/
经过一段时间的等待后,在/data/mysqldb/下面就有了原先默认的mysql数据库文件目录的拷贝“/mysql”
3.修改my.cnf文件
# vim /etc/mysql/my.cnf
将datadir = /var/lib/mysql 改为 datadir = /data/mysqldb/mysql
另外由于当前my.cnf 中的socket = /var/run/mysqld/mysqld.sock(而并非像网上所说的sock = /var/lib/mysql/mysql.sock),即socket的位置并不在数据库文件所在的位置,因此可以不做类似网上其他网页所说的,要使用以下的命令做一个mysql.sock 链接:
ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (需要从/home/data/mysql下复制一份过来)
4. 修改数据库的权限:
# chown -R mysql:mysql /data/mysqldb/mysql/ ← 改变数据库文件目录的归属为mysql
# chmod 700 /data/mysqldb/mysql/whois/ ← 改变数据库目录whois的属性为700
# chmod 660 /data/mysqldb/mysql/whois/* ← 改变数据库中数据表的属性为660
5. 修改文件usr.sbin.mysqld
# vim /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
改成
/data/mysqldb/mysql/ r,
/data/mysqldb/mysql/** rwk,
注意:没有该步骤的话,将导致数据库服务无法重启,好像在重启,但是一直卡住无反应。
6.启动mysql服务器
/etc/init.d/apparmor restart
/etc/init.d/mysql restart (或者使用 restart mysql)
搞定!
上一篇: ps后退一步的快捷键是什么
推荐阅读
-
Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法
-
ubuntu下迁移home目录至新的分区教程详解
-
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
-
Ubuntu16.04下如何修改MySQL数据的默认存储位置?
-
如何更改Linux(CentOS)系统下的MySQL数据库目录位置
-
在ubuntu下mysql的简单操作教程
-
ubuntu下MySQL的安装与卸载
-
Ubuntu Apahce2.4下无法访问JS目录的问题解决
-
Ubuntu中更改MySQL数据库文件目录的方法
-
ubuntu下安装mysql并授予其他用户权限及修改mysql数据库的编码集