mysql主从复制

一、安装mysql

 

  1、安装mysql

$ sudo apt-get install mysql-server -y

 

  2、 安全设置

$ mysql_secure_installation    //设置密码后,连续按Y后确认,直到结束

 

二、设置两台主机的my.cnf

 

  1、 设置两台主机的my.cnf

    a、 主服务器 配置my.cnf

$ sudo vim /etc/my.cnf

[/etc/mysql/my.cnf]           //centos的路径为/etc/my.cnf

[mysqld]
log-bin=mysql-bin
server-id=21                         //服务器唯一ID,默认是1,一般取IP最后一段

 

 

    b、 从服务器的配置

$ vim /etc/my.cnf

[/etc/my.cnf]

[mysqld]
log-bin=mysql-bin
server-id=22

 

  2、 重启服务

$ sudo service mysql restar

 

三、在主服务器上建立帐户并授权slave

 

  1、 在防火墙中开放3306端口

$ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

 

  2、 安装iptables-persistent,使防火墙设置重启仍生效

$ sudo apt-get install iptables-persistent

 

  3、 允许root用户远程访问

mysql> use mysql;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'redhat' WITH GRANT OPTION;

mysql> flush privileges;

 

  4、重启服务

$ sudo service msyql restart 

 

  5、添加用户mysync,用于同步数据库

$ mysql -uroot -predhat            //登录数据库

mysql>  GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'redhat';      //添加同步用户mysync,用于同步数据库

mysql> flush privileges;            //使配置生效

mysql> show master status;            //完成此步后,暂不操作主服务器,记住此处的

 

四、配置从服务器

 

  1、 配置从服务器

#登录数据库
$ mysql -uroot -p

# 添加主服务器
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;
# 启动slave mysql > start slave;
# 查看同步状态 mysql > show slave status\G # 同步配置下的Slave_IO_Runing 和Slave_SQL_Running必须为YES。

 

五、测试结果

  1、 先在主服务器添加测试数据库

#在主服务器上新建数据库,并插入数据库
$ mysql -uroot -p

mysql > create database hi_db;
mysql > use hi_db;
mysql > create table hi_tb(id int(3),name char(10)); 
mysql > insert into hi_tb values(001, ‘jeff’);
mysql > show databases;

 

  2、 在从服务器查看结果

# 登录slave数据库,并查看结果 
$ mysql -uroot -p

mysql > use hi_db;
mysql > select * from hi_tb

 

六、备份与还原数据库

 

  1、备份数据库

$ mysqldump -uroot -p test > ./test.sql		//test为数据库

 

  2、还原数据库

$ mysql -uroot -p test < ./test.sql

 

七、修改UUIDS

 

  1、查看UUIDS的方法

$ mysql -uroot -p

mysql > show variables like '%server_uuid%';

 

  2、修改UUIDS

$ sudo vim /var/lib/mysql/auto.cnf

[auto]
server-uuid=a1e6a366-8499-11e7-b2cf-000c29edfb10

 

posted @ 2017-07-07 00:07  jefflee168  阅读(231)  评论(0编辑  收藏  举报