在CentOS系统中,MySQL的数据迁移可以通过多种方式进行,以下是一些常见的方法:
mysqldump 工具mysqldump 是一个非常强大的工具,可以用来备份和恢复MySQL数据库。
mysqldump -u username -p database_name > backup.sql
输入密码后,数据库将被备份到 backup.sql 文件中。
mysql -u username -p database_name < backup.sql
输入密码后,数据库将从 backup.sql 文件中恢复。
mysqlpump 工具mysqlpump 是 mysqldump 的并行版本,适用于大型数据库的备份和恢复。
mysqlpump -u username -p --databases database_name > backup.sql
mysql -u username -p < backup.sql
xtrabackup 工具xtrabackup 是Percona提供的开源工具,适用于InnoDB存储引擎的备份和恢复。
xtrabackupyum install percona-xtrabackup-latest
xtrabackup --backup --target-dir=/path/to/backup --user=username --password=password
xtrabackup --prepare --target-dir=/path/to/backup
xtrabackup --copy-back --target-dir=/path/to/backup --datadir=/var/lib/mysql
rsync 工具如果你需要在两台服务器之间迁移数据,可以使用 rsync 工具来同步数据文件。
rsync -avz /var/lib/mysql/ user@remote_host:/var/lib/mysql/
mysqld 的复制功能如果你需要在两台服务器之间实时同步数据,可以使用MySQL的主从复制功能。
编辑 /etc/my.cnf 或 /etc/mysql/my.cnf 文件,添加以下配置:
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = database_name
重启MySQL服务:
systemctl restart mysqld
创建复制用户:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
获取主服务器的二进制日志位置:
SHOW MASTER STATUS;
编辑 /etc/my.cnf 或 /etc/mysql/my.cnf 文件,添加以下配置:
[mysqld]
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = database_name
重启MySQL服务:
systemctl restart mysqld
配置从服务器连接到主服务器:
CHANGE MASTER TO
MASTER_HOST='master_host_ip',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;
START SLAVE;
通过以上方法,你可以在CentOS系统中灵活地进行MySQL的数据迁移。