CentOS7下修改MariaDB的默认数据库存放目录


MariaDB 的默认数据存放在 /var/lib/mysql/ 目录下,如果不想放到此处,或者是想要程序和数据分离,或者是磁盘原因,需要切换到其他路径,则可以通过修改 datadir系统变量来达成目的.

1. 停止数据库

systemctl stop mariadb

2.创建存储数据库的目录,如果没有的话。假设我存储在/project/data下

mkdir /project/data

3. 拷贝默认数据库到新创建的存储目录,-a命令是将文件属性一起拷贝。

cp -a /var/lib/mysql /project/data 

4. 备份原来的数据,防止文件改错出现问题

cp -a /etc/my.cnf /project 

5. 打开my.cnf 查看里面内容,可以发现mariadb在这个文件中只有一个包含语句,所以这个文件不需要修改,只需要修改include进来的配置文件就好了

6. 修改的配置文件为/etc/my.cnf.d/server.cnf

vim /etc/my.cnf.d/server.cnf 

7. 然后 按 i 进入编辑模式,可以插入相关内容.使用键盘的上下左右键可以移动光标, 编辑完成以后,按 ESC 退出编辑模式(进入命令模式), 然后输入命令:wq 保存并退出 在文件的 mysqld 节下添加内容

[mysqld]   
datadir=/project/data /mysql   socket=/var/lib/mysql/mysql.sock   
#default-character-set=utf8   
character_set_server=utf8   
slow_query_log=on   slow_query_log_file=/project/logs/slow_query_log.log   long_query_time=2

其中,也只有 datadir 和 socket 比较重要; 而 default-character-set 是 mysql 自己认识的,而 mariadb5.5 就不认识,相当于变成了 character_set_server

8. 创建慢查询日志文件 既然上面指定了慢查询日志文件,我后来看了下MariaDB的err日志,发现MariaDB不会自己创建该文件,所以我们需要自己创建,并修改相应的文件权限(比如 MySQL 采用 mysql用户,可能我们使用 root用户创建的文件,此时要求慢查询日志文件对mysql用户可读可写就行。)

touch /project/logs/slow_query_log.log   
chmod 666 /project/logs/slow_query_log.log

9. 重启mariadb

systemctl start mariadb 

声明:初心|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - CentOS7下修改MariaDB的默认数据库存放目录


愿你勿忘初心,并从始至终