Linux下MySQL数据库目录更改转移

场景,ibdata1文件增长过快,或者数据库数据量增长过快导致datadir 目录快满的情况下,将datadir 目录下数据迁移到其他目录。

备份数据库

备份数据库很重要,防止迁移数据库失败恢复数据库。
[root@www.cndba.cn/]# mysqldump -uroot -proot --all-databases --opt --add-drop-database --add-drop-table --default-character-set=utf8 --master-data=2  --log-error=backup/mysqldump.log  > backup/all_mysql.sql

关闭Mysql服务

[root@www.cndba.cnbackup]# /etc/init.d/mysql stop
Stopping mysql (via systemctl):                            [  OK  ]

修改配置文件

备份配置文件
[root@www.cndba.cndata]# cp /etc/my.cnf /etc/my.cnf.20180410
修改配置文件
注释掉之前的代码
[client]
socket          =/tmp/mysql.sock
[mysqld]
socket          = /tmp/mysql.sock
datadir         = /data/mysql/data
修改改为
[client]
socket          = /data1/mysql/data/mysql.sock
[mysqld]
socket          = /data1/mysql/data/mysql.sock
datadir         = /data1/mysql/data

移动数据文件到新的数据文件目录

从/data/mysql/data移动到/data1/mysql/data
[root@www.cndba.cndata]# cd /data/mysql/data
[root@www.cndba.cndata]# cp -a * /data1/mysql/data
[root@www.cndba.cndata]# cd /data1/mysql/data/
查看复制过来的文件权限
[root@www.cndba.cndata]# ll
total 403484
-rw-rw---- 1 mysql mysql     16384 Apr  8 20:57 aria_log.00000001
-rw-rw---- 1 mysql mysql        52 Apr  8 20:57 aria_log_control
drwxr-xr-x 2 mysql mysql        26 Apr  9 09:17 data
-rw-rw---- 1 mysql mysql      2000 Apr  8 20:57 ib_buffer_pool
-rw-rw---- 1 mysql mysql  10485760 Apr  8 20:57 ibdata1
-rw-rw---- 1 mysql mysql 134217728 Apr  8 20:57 ib_logfile0
-rw-rw---- 1 mysql mysql 134217728 Apr  8 18:03 ib_logfile1
-rw-rw---- 1 mysql mysql 134217728 Apr  8 18:03 ib_logfile2
drwx------ 2 mysql root       4096 Apr  8 18:03 mysql
drwx------ 2 mysql mysql        20 Apr  8 18:03 performance_schema
drwx------ 2 mysql root        117 Apr  8 21:43 test

启动数据库

[root@www.cndba.cndata]# /etc/init.d/mysql start
Starting mysql (via systemctl):                            [  OK  ]
[root@www.cndba.cntmp]# mysql -uroot -proot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data1/mysql/data/mysql.sock' (2)
如果遇到以上错误,需要建立一个mysql.sock的软链接
[root@www.cndba.cntmp]# ln -s /data1/mysql/data/mysql.sock /tmp/mysql.sock
验证数据文件目录是否为新的目录
[root@www.cndba.cndata]# mysql -uroot -proot
Welcome to the MariaDB monitor.  Commands end with ; or /g.
Your MariaDB connection id is 27
Server version: 10.2.13-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

MariaDB [(none)]> show global variables like 'datadir';
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| datadir       | /data1/mysql/data/ |
+---------------+-------------------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值