记一次,mysql数据库迁移到新的磁盘(业务停止的场景下)

yumo6664个月前 (03-28)技术文章50

描述:

(1) 主从数据库,主库(1台)+从库(1台)

(2) 将mysql数据库目录移动到新挂载的目录下/data2

(3) 在新挂载目录/data2/下创建log目录:作为mysql-bin日志文件存放目录

(4) 修改配置文件my.cnf中datadir和socket路径指向以及mysql-bin日志文件路径指向,指向新的目录

目录:

(1) mysql数据库原目录:/var/lib/mysql

(2) mysql数据库新挂载目录: /data2/mysql

(3) mysql数据库二进制日志文件目录: /data2/log

1. 主库db1导出mysql数据库全量数据做备份

mysqldump -u用户名 -p密码 -h127.0.0.1 -P3306 --socket=/var/lib/mysql/mysql.sock --single-transaction -B -R 数据库名 > /tmp/mysql_bak/数据库名_日期_01.sql

2.主库db1和从库db2分别停止mysql数据库服务

systemctl stop mysqld

#检查是否已停止mysql服务

ps -ef | grep mysqld

3. 主库db1和从库db2分别在新挂载目录/data2/下,创建mysql-bin日志文件存放log目录

cd /data2/

mkdir log

4. 主库db1和从库db2分别移动mysql目录到新挂载的目录/data2/下

cd /var/lib

#先备份

cp -r mysql mysql_bak_日期_01

#移动mysql目录到/data2/下面

mv mysql /data2/

#检查是否移动成功,进入目录查看是否有内容

cd /data2/mysql

#检查mysql目录的用户和用户组权限是否是mysql.mysql

5. 主库db1和从库db2分别复制mysql-bin.*日志文件到新挂载的目录/data2/log/下,修改log目录权限

cd /var/log

cp mysql-bin.* /data2/log

#进入目录执行查看内容,检查是否拷贝成功

cd /data2/log/

#修改log目录的权限

cd /data2/

chown -R mysql:mysql log

#查看权限是否修改成功

6. 主库db1和从库db2分别修改配置文件my.cnf中datadir和socket路径指向以及mysql-bin.*日志文件路径指向

#先备份

cd /etc

cp my.cnf my.cnf.bak_日期_01

#编辑配置

vi /etc/my.cnf

#修改datadir路径指向到新挂载目录
datadir=/data2/mysql
#修改mysql.sock的路径指向到新挂载目录下的mysql.sock文件
socket=/data2/mysql/mysql.sock
#修改mysql-bin日志文件的路径指向到新挂载目录
log-bin=/data2/log/mysql-bin
#添加配置
binlog-ignore-db=net_loan_db#按Esc键退出编辑模式,英文模式下输入的:wq,即可保存退出

7. 主库db1和从库db2分别启动mysql数据库服务

systemctl start mysqld

#查看mysql是否启动成功

ps -ef | grep mysqld

8. 从库db2查看主从复制状态

#从库db2数据库服务器

mysql -u pro -p

#查看主从状态

show slave status \G;

查看到这两个是yes,表示主从正常


9. 迁移完成

测试数据库运行是否正常

相关文章

怎样快速地迁移 MySQL 中的数据?

MySQL 数据库是一个常见的关系型数据库,在实际应用中,可能需要将数据从一个 MySQL 数据库迁移到另一个 MySQL 数据库,或将 MySQL 数据库中的数据迁移到其他类型的数据库。以下是一些快...

MySQL中如何导入数据

使用 LOAD DATA 导入数据MySQL 中提供了LOAD DATA INFILE语句来插入数据。 以下实例中将从当前目录中读取文件 dump.txt ,将该文件中的数据插入到当前数据库的 myt...

一次几乎不可能的数据库迁移

最初,我们把一个文件当作数据库,将数据转化为 JSON 大对象写入进去,后来,它的速度越来越慢,我们决定进行数据库的迁移,这个过程中我们遇到了一些问题和障碍,但最终我们成功完成了这一次不太可能的数据库...

MySQL和PostgreSQL:数据库切换不迷路,怎么高效切换库?

在数据库的使用过程中,切换库是个常见的操作,今天我们来讲讲MySQL中的 USE dbname; 命令,并把它和PostgreSQL的数据库切换操作对比一下,通过这个对比,我们可以更好地理解在不同的数...

技术干货 | 独家揭秘 数据库跨平台迁移原来这么轻松

Oracle跨平台迁移——面临严峻挑战高复杂性 高成本数万行pl/sql代码,大量的存储过程、触发器、函数、包、计划任务、视图,各种基于Oracle独有特性的语法表达,以及应用开发商们基于Oracle...