1、查看当前数据存放目录的位置

MariaDB [(none)]> show variables like '%dir%';
+-----------------------------------------+----------------------------+
| Variable_name                           | Value                      |
+-----------------------------------------+----------------------------+
| aria_sync_log_dir                       | NEWFILE                    |
| basedir                                 | /usr/                      |
| binlog_direct_non_transactional_updates | OFF                        |
| character_sets_dir                      | /usr/share/mysql/charsets/ |
| datadir                                 | /var/lib/mysql/            |
| ignore_db_dirs                          |                            |
| innodb_data_home_dir                    |                            |
| innodb_log_arch_dir                     | ./                         |
| innodb_log_group_home_dir               | ./                         |
| innodb_max_dirty_pages_pct              | 75.000000                  |
| innodb_max_dirty_pages_pct_lwm          | 0.001000                   |
| innodb_tmpdir                           |                            |
| innodb_undo_directory                   | .                          |
| lc_messages_dir                         |                            |
| plugin_dir                              | /usr/lib64/mysql/plugin/   |
| slave_load_tmpdir                       | /tmp                       |
| tmpdir                                  | /tmp                       |
| wsrep_data_home_dir                     | /var/lib/mysql/            |
| wsrep_dirty_reads                       | OFF                        |
+-----------------------------------------+----------------------------+

2、关闭mysql

service mysql stop

3、将当前的数据文件挪到新的目录下

cp -r /var/lib/mysql/* /data/mariadb

4、更改新目录的权限

chown -R mysql:mysql /data/mariadb

5、修改mysql配置文件,/etc/my.cnf, 加入下面的描述

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

6、开启mysql

service mysql start

温馨提示:如果使用SELinux,请确保mysql有新目录的读写权限。最直接的方式是关闭SELinux。

如果你想把目录迁移到/home目录下,很遗憾,mariadb似乎不喜欢用户这么做。你可以把文件迁移过去,将原来的目录映射过来。

[code language=”bash”]
mount –bind /home/mariadb /var/lib/mysql
[/code]

配置永久映射,修改文件 /etc/fstab,加入以下条目

[code language=”text”]
/home/mariadb /var/lib/mysql none defaults,bind 0 0
[/code]

By charlie

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注