首页 > 代码库 > mysql主从复制
mysql主从复制
一、安装mysql
1、 sudo apt-get install mysql-server -y
2、 安全设置:mysql_secure_installation,然后按两个N,三个Y。
二、设置两台主机的my.cnf
1、 设置两台主机的my.cnf
a、 主服务器:vim /etc/my.cnf,添加内容如下:
[mysqld]
log-bin=mysql-bin
server-id=21 //服务器唯一ID,默认是1,一般取ID最后一段
b、 从服务器slave: vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=22
2、 重启服务:service mysql restart或 systemctl restart mariadb
三、在主服务器上建立帐户并授权slave
1、 在防火墙中开放3306端口:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT,如是centos,此步可以省略。
2、 使防火墙重启好仍然生效,安装软件: sudo apt-get install iptables-persistent,一直按yes即可。
3、 允许root用户远程访问:
mysql>use mysq;
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘redhat‘ WITH GRANT OPTION;
mysql>flush privileges;
重启服务:service msyql restart 或 systemctl restart mariadb
4、 登录:mysql -uroot -predhat
5、 建立帐户并授权slave: GRANT REPLICATION SLAVE ON *.* to ‘mysync‘@‘%‘ identified by ‘redhat‘;
6、 使配置生效:flush privileges;
7、 查看主服务器的mysql状态:show master status; //完成此步后,暂不操作主服务器,记住此处的
四、配置从服务器
1、 配置从服务器:
mysql>change master to master_host=‘10.0.0.24‘,master_user=‘mysync‘,master_password=‘redhat‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=601;
2、 mysql> start slave;
3、 检查从服务器复制功能状态:
mysql> show slave status\G
注:此处状态下的Slave_IO_Runing 和Slave_SQL_Running必须为YES。
五、测试结果
1、 先在主服务器添加测试数据库
a、 use mysql;
b、 create database hi_db;
c、 use hi_db;
d、 create table hi_tb(id int(3),name char(10));
e、 insert into hi_tb values(001, ‘jeff’);
f、 show databases;
2、 在从服务器查看结果:
a、 mysql -uroot -p
b、 use hi_db;
c、 select * from hi_tb;
六、本章步骤参考自:http://369369.blog.51cto.com/319630/790921/
mysql主从复制