bash,mysqldump u 用户名 p databases 数据库名 > 备份文件.sql,
`,,2. 将备份文件传输到目标数据库服务器。,,3. 在目标数据库服务器上执行恢复命令:,,
`bash,mysql u 用户名 p 数据库名< 备份文件.sql,
``在数据库管理中,复制是一种常见的操作,MySQL提供了多种复制方法,如主从复制、主主复制等,本文将详细解释如何通过两种方法在两个MySQL服务器之间复制数据库。
1. 主从复制
主从复制是MySQL最常见的一种复制方式,其中一个数据库服务器作为主服务器(Master),另一个作为从服务器(Slave),主服务器上的所有数据更改都会同步到从服务器。
步骤:
步骤1:配置主服务器
1、编辑MySQL配置文件(my.cnf或my.ini),在[mysqld]部分添加以下内容:
```ini
[mysqld]
logbin = mysqlbin
serverid = 1
```
2、重启MySQL服务。
3、创建一个用于复制的用户并授权:
```sql
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
```
4、查看主服务器状态:
```sql
SHOW MASTER STATUS;
```
记下显示的File和Position值,稍后在从服务器配置时会用到。
步骤2:配置从服务器
1、编辑MySQL配置文件(my.cnf或my.ini),在[mysqld]部分添加以下内容:
```ini
[mysqld]
serverid = 2
```
2、重启MySQL服务。
3、在从服务器上执行以下命令,配置主服务器信息:
```sql
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='File值', // 步骤1中的File值
MASTER_LOG_POS=Position值; // 步骤1中的Position值
```
4、启动复制进程:
```sql
START SLAVE;
```
5、查看从服务器状态:
```sql
SHOW SLAVE STATUS\G;
```
确保Slave_IO_Running和Slave_SQL_Running都为Yes,表示复制已经成功启动。
2. 主主复制
主主复制是指两个数据库服务器互相为主从关系,任何一方的数据更改都会同步到另一方,这种复制方式可以提高系统的可用性,但配置相对复杂。
步骤:
步骤1:配置服务器A
1、编辑MySQL配置文件(my.cnf或my.ini),在[mysqld]部分添加以下内容:
```ini
[mysqld]
logbin = mysqlbin
serverid = 1
```
2、重启MySQL服务。
3、创建一个用于复制的用户并授权:
```sql
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
```
4、查看服务器A状态:
```sql
SHOW MASTER STATUS;
```
记下显示的File和Position值,稍后在服务器B配置时会用到。
步骤2:配置服务器B
1、编辑MySQL配置文件(my.cnf或my.ini),在[mysqld]部分添加以下内容:
```ini
[mysqld]
serverid = 2
```
2、重启MySQL服务。
3、在服务器B上执行以下命令,配置服务器A信息:
```sql
CHANGE MASTER TO
MASTER_HOST='服务器A IP',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='File值', // 步骤1中的File值
MASTER_LOG_POS=Position值; // 步骤1中的Position值
```
4、启动复制进程:
```sql
START SLAVE;
```
5、查看服务器B状态:
```sql
SHOW SLAVE STATUS\G;
```
确保Slave_IO_Running和Slave_SQL_Running都为Yes,表示复制已经成功启动。
6、在服务器B上创建一个用于复制的用户并授权:
```sql
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
```
7、查看服务器B状态:
```sql
SHOW MASTER STATUS;
```
记下显示的File和Position值,稍后在服务器A配置时会用到。
8、在服务器A上执行以下命令,配置服务器B信息:
```sql
CHANGE MASTER TO
MASTER_HOST='服务器B IP',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='File值', // 步骤7中的File值
MASTER_LOG_POS=Position值; // 步骤7中的Position值
```
9、启动复制进程:
```sql
START SLAVE;
```
10、查看服务器A状态:
```sql
SHOW SLAVE STATUS\G;
```
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/574423.html