mysql主(master)从(slave)数据库复制的配置

主从数据库作用:

1、 对数据库进行读写分离,提高系统性能。主服务器专注于写操作,从数据库专注于读操作。
2、 从(slave)数据库在不破坏主数据库数据的情况下,执行数据备份。
3、 用主数据库产生实时数据,从(slave)数据库进行数据的分析。
4、 远程数据分布:创建远程站点的本地数据副本,不需要永久的访问主服务器。

步骤:

1、修改主服务器数据库的配置文件(my.ini或my.cnf),配置如下内容。

[mysqld]   
log-bin=mysql-bin   
server-id=156       //这里一般去服务器ip位数  

2、 为执行复制的从数据创建用户、密码,并分配权限。

mysql> CREATE USER 'cenliming'@'%' IDENTIFIED BY 'password';   //'%'代表允许 该用户远程访问数据库   
mysql> GRANT  REPLICATION  SLAVE ON  *.*   TO 'user'@'%';  

注意:如果在本地测试,要配置本地数据库允许远程连接。

3、 获取二进制日志文件信息,若显示为空,请重启数据库即可查看到。

mysql > SHOW MASTER STATUS;     
+------------------+----------+--------------+------------------+   
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |   
+------------------+----------+--------------+------------------+   
| mysql-bin.000003 | 73       | test         | manual,mysql     |   
+------------------+----------+--------------+------------------+

(File:日志文件名 Position: 文件坐标)

4、 在主数据库中释放表锁,在从数据库中进行相关配置。 a. 主数据库释放锁:

mysql> UNLOCK TABLES;  

修改从数据库配置文件,配置server-id:

[mysqld]   
server-id=232  

在从数据库中进行连接主数据库的配置:

mysql> CHANGE MASTER TO  
    ->     MASTER_HOST='master_host_name',   
    ->     MASTER_USER='replication_user_name',   
    ->     MASTER_PASSWORD='replication_password',   
    ->     MASTER_LOG_FILE='recorded_log_file_name',   
    ->     MASTER_LOG_POS=recorded_log_position;

5、 启动从服务器并查看状态:

mysql> start  slave;     //停止用 stop   
mysql>show slave staus\G;  

Slave_IO_Running状态不为YES,说明从数据库未能成功连接到主数据库。 配置成功后,你对主数据库的更新操作都会更新到从数据库(异步处理)。

标签:MySQL 发布于:2019-11-16 03:49:45