博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql笔记之 -- 小试MYSQL主从配置
阅读量:4843 次
发布时间:2019-06-11

本文共 3344 字,大约阅读时间需要 11 分钟。

mysql主从配置:

硬件:
两台服务器
1、Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-60-generic-pae i686) 
2、Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-60-generic-pae i686)
分别安装mysq
mysql Ver 14.14 Distrib 5.5.35, for debian-linux-gnu (i686) using readline 6.2
 
主服务器(192.168.1.101,root,root)
从服务器(192.168.1.102,root,root)
 
主服务器配置:
打开主服务器的配置文件/etc/mysql/my.cnf找到[mysqld]的配置块更改一下配置项:
server-id = 1                                                            #主机标示,整数
log_bin                 =    /var/log/mysql/mysql-bin.log    #确保此文件可写
binlog-do-db         =    zhu_db                                  #需要备份数据库,多个写多行
#binlog-ignore-db  =    mysql                                    #不需要备份的数据库,多个写多行
 
skip-external-locking 和 bind-address 选项要注释掉,不然不能远程连接数据库。
ws
保存重启mysql.
在主服务器上为从服务器创建一个用户:
grant replication slave on *.* to 'slave01'@' 192.168.1.102 ' identified by 'slave01';
#grant replication slave on *.* to '用户名'@'从服务器地址' identified by '密码';
第一个*号:表示所有数据库
第二个*号:表示所有表
#从服务的地址也可以写地址段如 ...'slave01'@'192.%'...
建立完账号以后通过命令刷新一下权限关联表:flush privileges;
你也可以查看mysql数据库的user表里面会有一条关于slave01用户的权限信息
 
查看master的状态,后面会用的着File 和Position 两个参数
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000013 | 3680 | zhu_db | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
 
mysql>
 
从服务器配置:
打从主服务器的配置文件/etc/mysql/my.cnf找到[mysqld]的配置块更改一下配置项:
server-id               =   2                                            #主机标示,整数
log_bin                 =    /var/log/mysql/mysql-bin.log    #确保此文件可写
binlog-do-db         =    zhu_db                                  #需要备份数据库,多个写多行
#binlog-ignore-db  =    mysql                                    #不需要备份的数据库,多个写多行
注意:MySQL 5.1.7版本之后,已经不支持把master以下配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。
master_host = 192.168.196.68
master_port = 3306
master_user = slave
master_password = 111321
master_connect_retry = 10 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
 
与Master一样,取消远程连接限制(不取消应该也没问题,没试过)。
 
mysql -u root -p #进入MySQL控制台
slave stop; #停止slave同步进程
在从服务器上创建一个用户
change master to master_host='10.2.6.11',master_user='slave01',master_password='slave01',master_log_file='mysql-bin.000013' ,master_log_pos=3680; #执行同步语句
#change master to master_host='主服务器地址',master_user='主服务器的创建的用户名',master_password='相应的密码',master_log_file='主服务器的binlog文件' ,master_log_pos=开始同步的位置;
slave start; #开启slave同步进程
查看从服务器的状态
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.2.6.11
                  Master_User: slave01
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000013
          Read_Master_Log_Pos: 3680
               Relay_Log_File: mysqld-relay-bin.000004
                Relay_Log_Pos: 748
        Relay_Master_Log_File: mysql-bin.000013
             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: 3680
              Relay_Log_Space: 905
              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: 1
1 row in set (0.00 sec)
 
mysql>
 
注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!
 
测试
这时你可以在主服务器上创建数据库、数据表、插入数据,查看从服务器是否能同步更新下来。
 

转载于:https://www.cnblogs.com/sajanray/p/4478779.html

你可能感兴趣的文章
Leetcode506.Relative Ranks相对名次
查看>>
UltraEdit v17.0.1030 简体中文版
查看>>
201421410040 张运焘 实验二(非平台)
查看>>
Python做个小游戏
查看>>
H3C HDLC概述
查看>>
HBase 数据坐标
查看>>
Quota- Linux必学的60个命令
查看>>
对计算机的认识
查看>>
lucene中Field.Index,Field.Store详解
查看>>
IOS--UIPageControl的使用方法详细
查看>>
主机可以ping通虚拟机,但是虚拟机ping不通主机的方法(转)
查看>>
NAT穿透的详解及分析
查看>>
IntelliJ IDEA打可运行jar包时的错误
查看>>
报错apachectl restart
查看>>
状态模式(State Pattern)
查看>>
android 之HttpURLConnection的post,get方式请求数据
查看>>
const
查看>>
第二次作业
查看>>
EBS R12.2.4 Changing IP
查看>>
【ACM】hdu_zs2_1005_Problem E _201308030747
查看>>