1、准备两台服务器
主数据库 | 192.168.10.2 | master |
从数据库 | 192.168.10.23 | slave |
2、启动两台服务器
3、关闭系统防火墙
4、保证两台服务器之间可以相互ping 通
具体操作步骤如下:
第一步:在主数据库master 上编辑mysql配置文件,做如下操作:
注:mysql安装方式的不同会导致mysql的配置文件的位置不一样,大家要根据自己的安装位置来找配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
bind_address = 0.0.0.0
server-id = 2 #IP地址最后一位
log_bin = /var/log/mysql/mysql-bin.log #开启binlog 日志
expire_logs_days = 10 #日志的缓存时间
max_binlog_size = 200M #日志的最大大小
binlog_do_db = test #同步的数据库名称
binlog_ignore_db = mysql #忽略同步的数据库
第二步:在从数据库slave上编辑mysql配置文件,做如下操作:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
bind_address = 0.0.0.0
server-id = 23 #IP地址最后一位
expire_logs_days = 10 #日志的缓存时间
max_binlog_size = 200M #日志的最大大小
replicate_do_db = test #同步的数据库名称
replicate_ignore_db = mysql #忽略同步的数据库
第三步:在两台服务器上的mysql上配置一模一样的两个test数据库,做如下操作:
mysql> use test;
Database changed
mysql> create table user(id int(11) primary key auto_increment not null,name varchar(32) not null)enginee=innodb default charset=utf8;
第四步:在主数据master上创建一个同步权限的账户test01,用来同步数据,做如下操作:
mysql>CREATE USER ‘test01’@'192.168.10.23 IDENTIFIED BY ‘123456’; #创建用户
mysql>GRANT REPLICATION SLAVE ON . TO ‘test01’@‘192.168.10.23’ IDENTIFIED BY ‘123456’; #分配权限
mysql>flush privileges; #刷新权限
show master status; #查看主数据库master的状态,不要关闭窗口先 ,不要重启
第五步:在从数据库slave上做如下操作:
mysql> change master to
-> master_host=‘192.168.10.2’,
-> master_user=‘test01’,
-> master_password=‘123456’,
-> master_port=3306,
-> master_log_file=‘mysql-bin.000003’,
-> master_log_pos=73;
如果出现下面的提升,则mysql主从数据库配置成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
stop slave;
注:可能存在的问题:
删除从数据库的配置文件auto.cnf,然后主数据重新授权,然后再change to master。