一、主从复制前提要求:
1、版本一致
2、初始化表,并在后台启动mysql
3、修改root的密码
二、修改master数据库配置
# vi /etc/my.cnf

log-bin = mysql-bin #[必须]启用二进制日志
binlog_format=mixed
server-id =1 #[必须]服务器唯一ID,默认是1,一般取IP最后一段
innodb-file-per-table =ON
skip_name_resolve=ON
a) 查看二进制日志是否开启

b) 查看主节点二进制日志列表

c) 查看主节点的server id

三、修改从节点配置文件
# vi /etc/my.cnf

log-bin=mysql-bin //[不是必须]启用二进制日志
relay-log=relay-log
relay-log-index=relay-log.index
server-id=2 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
innodb_file_per_table=ON
skip_name_resolve=ON
四、重启两台mysql
#service mysql restart
1、在主服务器上建立帐户并授权slave:
一般授权不使用root账号,需要先创建账号:
# grant all privileges on `oppo`.* to 'oppo'@'%' identified by 'oppo#O2018';
# show master status;

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
2、配置从服务器Slave:
# change master to master_host='172.22.69.43',master_user='oppo',master_password='oppo#O2018',master_log_file='mysql-bin.000001',master_log_pos=3077;
# start slave;
master_host:主服务器IP
master_user:用户名
master_password: 密码
master_log_file: File
master_log_pos: Position
3、检查从服务器复制功能状态:
# show slave status\G;

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
五、主从服务器测试
mysql> create database demo;
Query OK, 1 row affected (0.00 sec)
mysql> use hi_db;
Database changed
mysql> create table demo(id int(3),name char(10));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into demo values(001,'zhangsan');
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| demo |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
从服务器Mysql查询:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| demo |
| mysql |
| test |
+--------------------+
5 rows in set (0.00 sec)
网友评论