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.cnfvim /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. 重启mariadbsystemctl start mariadb