MySQL学习第四篇:MySQL主从复制

1、按照前一篇安装好两台MySQL : http://blog.csdn.NET/hwhmh2010/article/details/52984890

2、编辑主从复制安装配置脚本

[root@mysql ~]# vim installmasterslave.sh

#!/bin/bash
export mysqlbinpath="/usr/loca/mysql/bin" #mysql路径
#variables for master
export master_mysql_root_passwd="mima+123"  #mysql主数据库的root密码
export replication_user="copydb"  #用于复制的mysql用户
export replication_passwd="123456" #mysql用户copydb的密码
export master_ip=`ifconfig|grep "inet addr:"|grep -v "127.0.0.1"|cut -d: -f2|awk '{print $1}'`    #mysql主服务器IP
export replication_db=replication_db
#variables for slave
export slave_mysql_root_passwd="mima+123" #mysql从数据库的root密码
export slave_ip="172.16.16.102"               #从服务器IP地址
export slave_ssh_root_passwd="mima+123"  #mysql从数据库的ssh的root密码

${mysqlbinpath}/mysql -h$slave_ip -uroot -p${master_mysql_root_passwd} -e "GRANT REPLICATION SLAVE ON *.* TO '$replication_user'@'%' IDENTIFIED BY '$replication_passwd'";

#create replication user
{
${mysqlbinpath}/mysql -uroot -p${master_mysql_root_passwd} <<EOF
GRANT REPLICATION SLAVE ON *.* TO '$replication_user'@'%' IDENTIFIED BY '$replication_passwd';
FLUSH TABLES WITH READ LOCK;
select sleep(10);
EOF
} &

#export the database sql data.
${mysqlbinpath}/mysqldump -uroot -p${master_mysql_root_passwd} > ${replication_db}.sql

#get the master status info.
export status=`${mysqlbinpath}/mysql -uroot -p${master_mysql_root_passwd} -e"show master status\G"`
export binlogname=`echo "$status" | grep "File" | awk '{print $2}'`
export position=`echo "$status" | grep "Position" | awk '{print $2}'`

#deploy the slave mysql server.
${mysqlbinpath}/mysql -h$slave_ip -uroot -p${slave_mysql_root_passwd} -e"stop slave;CHANGE MASTER TO MASTER_HOST=\"${master_ip}\",MASTER_USER=\"${replication_user}\",MASTER_PASSWORD=\"${replication_passwd}\",MASTER_PORT=3306,MASTER_LOG_FILE=\"${binlogname}\",MASTER_LOG_POS=${position},MASTER_CONNECT_RETRY=10;start slave;select sleep(3);show slave status\G"

3、执行主从安装脚本

 

[root@mysql ~]# installmasterslave.sh
下面是输出结果:

Warning: Using a password on the command line interface can be insecure.  
Warning: Using a password on the command line interface can be insecure.  
Warning: Using a password on the command line interface can be insecure.  
Warning: Using a password on the command line interface can be insecure.  
Warning: Using a password on the command line interface can be insecure.  
  
+----------+  
| sleep(3) |  
+----------+  
|        0 |  
+----------+  
*************************** 1. row ***************************  
               Slave_IO_State: Waiting for master to send event  
                  Master_Host: 172.16.16.107  
                  Master_User: copydb  
                  Master_Port: 3306  
                Connect_Retry: 10  
              Master_Log_File: log_bin.000002  
          Read_Master_Log_Pos: 1983  
               Relay_Log_File: mysql-relay-bin.000002  
                Relay_Log_Pos: 281  
        Relay_Master_Log_File: log_bin.000002  
             Slave_IO_Running: Yes  
            Slave_SQL_Running: Yes  
              Replicate_Do_DB:   
          Replicate_Ignore_DB:   
           Replicate_Do_Table:   
       Replicate_Ignore_Table:   
      Replicate_Wild_Do_Table:   
  Replicate_Wild_Ignore_Table:   
                   Last_Errno: 0  
                   Last_Error:   
                 Skip_Counter: 0  
          Exec_Master_Log_Pos: 1983  
              Relay_Log_Space: 454  
              Until_Condition: None  
               Until_Log_File:   
                Until_Log_Pos: 0  
           Master_SSL_Allowed: No  
           Master_SSL_CA_File:   
           Master_SSL_CA_Path:   
              Master_SSL_Cert:   
            Master_SSL_Cipher:   
               Master_SSL_Key:   
        Seconds_Behind_Master: 0  
Master_SSL_Verify_Server_Cert: No  
                Last_IO_Errno: 0  
                Last_IO_Error:   
               Last_SQL_Errno: 0  
               Last_SQL_Error:   
  Replicate_Ignore_Server_Ids:   
             Master_Server_Id: 107  
                  Master_UUID: 35259c7a-9f2e-11e6-a0d8-000c2964dfae  
             Master_Info_File: /data/master.info  
                    SQL_Delay: 0  
          SQL_Remaining_Delay: NULL  
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it  
           Master_Retry_Count: 86400  
                  Master_Bind:   
      Last_IO_Error_Timestamp:   
     Last_SQL_Error_Timestamp:   
               Master_SSL_Crl:   
           Master_SSL_Crlpath:   
           Retrieved_Gtid_Set:   
            Executed_Gtid_Set:   
                Auto_Position: 0




转载于:https://www.cnblogs.com/szDBA/p/6044251.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值