欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Ubuntu16.04下如何修改MySQL数据的默认存储位置?

程序员文章站 2022-05-21 08:13:45
1.首先第一步当然是down掉MySQL了: # /etc/init.d/mysql stop 2.接着创建新的数据库路径: # mkdir -p /ssd1/mysql 其中...

1.首先第一步当然是down掉MySQL了:

# /etc/init.d/mysql stop

2.接着创建新的数据库路径:

# mkdir -p /ssd1/mysql

其中,/ssd1是我在云服务器上加的一个数据盘,已经挂载到 /ssd1 上去了。我想把所有的MySQL的数据都存到这个数据盘,而不是存到云服务器自带的系统盘。

3.复制MySQL原有的数据,注意,MySQL的原始数据存在/var/lib/mysql/下。

# cp -R /var/lib/mysql/* /ssd1/mysql

4.注意一定要修改权限,因为/var/lib/mysql 文件夹的属性就是如下的:

# chown -R mysql:mysql /ssd1/mysql

5.修改配置文件夹

这一步网上都说是修改 /etc/mysql/my.cnf 文件,可是我vim进去发现根本没有 datadir 变量,查了很多资料都没找到,然后自己捣鼓发现 /etc/mysql 下有个 mysql.conf.d 文件夹,下面有 mysqld.cnf 文件,进去一看,果然 datadir变量在里面!所以正确的操作应该是:

# vim /etc/mysql/mysql.conf.d/mysqld.cnf

将 [mysqld] 组下的 datadir改为:
datadir = /ssd1/mysql

但是我也不知道会不会是在阿里云的源下载MySQL配置方式不同。。。。

6.修改启动文件

# vim /etc/apparmor.d/usr.sbin.mysqld 

把  
/var/lib/mysql r  
/var/lib/mysql/** rwk  
修改成  
/ssd1/mysql r  
/ssd1/mysql/** rwk,   

6.重启服务

# /etc/init.d/apparmor restart  
# /etc/init.d/mysql restart