centos上mysql如何迁移

901
2025/3/31 15:32:00
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上迁移MySQL数据库可以通过多种方式实现,以下是一些常见的方法:

方法一:使用mysqldump工具

  1. 备份数据库 使用mysqldump工具备份源数据库到一个SQL文件。

    mysqldump -u [用户名] -p[密码] [数据库名] > backup.sql
    

    注意:-p后面直接跟密码,不要有空格。

  2. 将备份文件传输到目标服务器 使用scp或其他文件传输工具将备份文件传输到目标CentOS服务器。

    scp backup.sql user@target_server:/path/to/destination
    
  3. 在目标服务器上恢复数据库 在目标服务器上使用mysql命令行工具恢复数据库。

    mysql -u [用户名] -p[密码] [数据库名] < /path/to/destination/backup.sql
    

方法二:使用物理备份和恢复

  1. 停止MySQL服务 在源服务器上停止MySQL服务。

    systemctl stop mysqld
    
  2. 复制数据目录 复制MySQL的数据目录到目标服务器。假设数据目录在/var/lib/mysql

    rsync -avz /var/lib/mysql/ user@target_server:/var/lib/mysql/
    
  3. 修改权限 确保目标服务器上的MySQL用户对数据目录有适当的权限。

    chown -R mysql:mysql /var/lib/mysql/
    
  4. 启动MySQL服务 在目标服务器上启动MySQL服务。

    systemctl start mysqld
    

方法三:使用MySQL复制

  1. 配置主服务器 在源服务器上配置MySQL复制,使其成为主服务器。 编辑/etc/my.cnf/etc/mysql/my.cnf文件,添加以下配置:

    [mysqld]
    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    binlog_do_db = [数据库名]
    
  2. 重启MySQL服务 重启MySQL服务以应用配置。

    systemctl restart mysqld
    
  3. 创建复制用户 在主服务器上创建一个用于复制的用户。

    CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
    FLUSH PRIVILEGES;
    
  4. 获取二进制日志位置 获取当前二进制日志的位置和文件名。

    SHOW MASTER STATUS;
    
  5. 配置从服务器 在目标服务器上配置MySQL复制,使其成为从服务器。 编辑/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
    replicate_do_db = [数据库名]
    
  6. 重启MySQL服务 重启MySQL服务以应用配置。

    systemctl restart mysqld
    
  7. 设置主服务器信息 在从服务器上设置主服务器的信息。

    CHANGE MASTER TO
    MASTER_HOST='主服务器IP',
    MASTER_USER='replicator',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=123;
    START SLAVE;
    
  8. 检查复制状态 检查从服务器的复制状态。

    SHOW SLAVE STATUS\G
    

选择适合你需求的方法进行迁移。物理备份和恢复通常更快,但需要更多的磁盘空间和网络带宽。使用MySQL复制则可以实现实时数据同步,但配置相对复杂。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: centos怎么查看网卡速率