博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos6.4 + mysql-5.6.38-linux-glibc2.12-x86_64.tar 实现mysql主从复制
阅读量:6610 次
发布时间:2019-06-24

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

 

mysql安装方法:

如果你想要更快的,更省事的安装mysql可以去试试宝塔,一键安装,省事快捷

安装教程:https://www.bt.cn/bbs/thread-1186-1-1.html

 

用到的是两台服务器

主:192.168.1.106

从:192.168.1.69

1.在主库服务器中的mysql中新建一个用户用于让从库连接使用insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values('%','rjj123',password('123456'),'','','');
2.#刷新系统授权表flush privileges;
3. #授权用户rjj只能从 192.168.1.69 这个IP访问主服务器192.168.1.106上面的数据库grant replication slave  on *.* to 'rjj123'@'192.168.1.69' identified by '123456';

rjj123:用户名称,用于从服务器登陆主服务的的账号

192.168.1.69:从服务的IP

123456:账号的密码

4.先把 主服务器的数据库复制到 从服务器,具体方法可参考:http://www.cnblogs.com/lin3615/p/3749438.html 这一步就是在主服务和从服务中建立一样的数据库信息,数据库的一样,表结构一样
5.配置MySQL主服务器(192.168.1.106)的my.cnf文件vim /etc/my.cnf  一下配置是我的my.cnf中全部,主要是红色部分
[mysqld]#主机的东西binlog-do-db=rjj   binlog-ignore-db=mysql  log-bin=mysql-bin  user = mysqlbasedir = /usr/local/mysqlskip-external-lockingkey_buffer = 384Mmax_allowed_packet=268435456max_connections = 500max_user_connections = 35wait_timeout=40connect_timeout=10# table_cache = 512sort_buffer_size = 2Mread_buffer_size = 2Mread_rnd_buffer_size = 8Mmyisam_sort_buffer_size = 64Mthread_cache_size = 8query_cache_size = 32Mthread_concurrency = 8#主机server-id = 106 # skip-innodb[mysqldump]quickmax_allowed_packet = 16M[mysql]no-auto-rehash[myisamchk]key_buffer = 256Msort_buffer_size = 256Mread_buffer = 2Mwrite_buffer = 2M[mysqlhotcopy]interactive-timeout
一般只要的是这几个参数server-id=1   #设置服务器id,为1表示主服务器,一般用IP地址接替log-bin=mysql-bin  #启动MySQ二进制日志系统binlog-do-db=test  #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行binlog-ignore-db=mysql   #不同步mysql系统数据库#保存退出service mysqld  restart  #重启MySQLmysql -h localhost -u root -p   #登陆show variables like 'server_id';  #查看server-id的值是否为1mysql> show variables like 'server_id';
6.show master status;  #查看主服务器,出现以下类似信息
需要记住主服务器中的这个mysql-bin.000014和120注意:这里记住File的值:mysql-bin.000011和Position的值:107,重服务器配置会用到。
从服务的mysql配置首先需要配置 /etc/my.cof vim /etc/my.cnf   #编辑配置文件,在[mysqld]部分添加下面内容server-id=2   #设置服务器id,修改其值为2,表示为从数据库log-bin=mysql-bin  #启动MySQ二进制日志系统replicate-do-db=test   #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行 replicate-ignore-db=mysql   #不同步mysql系统数据库read_only  #设置数据库只读service mysqld restart   #重启MySQL从服务器中mysql的基本一样,read_only  #设置数据库只读,这个配置就是直接把这个从服务设置成只读的了。
现在开始配置从服务的mysql#停止slave同步进程stop slave; #执行同步语句change master to master_host='192.168.1.106' //主机的ip,master_user='rjj123' //我们在主机上授权的账号,master_password='123456' //密码,master_log_file='mysql-bin.000014' //我们在主服务器上得到的file ,master_log_pos=120; //Position
#开启slave同步进程start slave; 注意:在没有开启start slave  执行 SHOW SLAVE STATUS\G 命令显示的
 

执行start slave 后我们再次执行SHOW SLAVE STATUS\G 命令

 Slave_IO_Running: Yes

  Slave_SQL_Running: Yes

这两个参数都是yes就可以了。

 

如果执行show slave status\G;出现的是

 Slave_IO_Running: Connecting

这个问题,网上找了好多

一般都是这个答案

我的不是这个问题,我把主服务器和从服务器的防火墙都关闭就可以了

关闭防火墙的方法为:1. 永久性生效开启:chkconfig iptables on关闭:chkconfig iptables off2. 即时生效,重启后失效开启:service iptables start关闭:service iptables stop 需要说明的是对于 Linux 下的其它服务都可以用以上命令执行开启和关闭操作 补充:a. 防火墙还需要关闭ipv6的防火墙:chkconfig ip6tables off并且可以通过如下命令查看状态:chkconfig --list iptablesb. selinux状态可以通过以下命令查看:Sestatus===============
 

 

好了配置好了主从复制,我们来测试下看看是不是会成功呢?主库的表的信息,这个是有数据的

从库表是没有数据的

配置同步了,但是在从库查看时候主库的数据还是不能够同步过来。

这些数据是原来的,配置好后,没有插入过数据测试,直接在从从库查询。

后来删除了主库的数据。现在主库和从库的数据一致了。我们插入一条数据测试看看

 

主库插入数据

 

现在看看从库是否有数据

好了,现在数据同步了。

 

转载于:https://www.cnblogs.com/renjianjun/p/9093062.html

你可能感兴趣的文章
oracle进程CPU占用太高
查看>>
python中string和bool的转换
查看>>
16.关于 file API 和 formdata
查看>>
Photoshop制作一只可爱的卡通小鸟
查看>>
大话IT第十期:由Windows 8引发的Wintel内讧
查看>>
pyspider 爬虫教程整理
查看>>
我的友情链接
查看>>
android的Activity横竖屏切换时的生命周期
查看>>
Ajax初体验
查看>>
主机屋免费空间使用有感
查看>>
文档:非群集、非共享存储的实时迁移
查看>>
我的友情链接
查看>>
技术不能抛开的飞鸽传书绿色版
查看>>
heartbeat实现web高可用
查看>>
ESXi 5.5 安装Emulex光纤卡驱动
查看>>
exchange2013和exchange online自动向发件人发送答复邮件
查看>>
codevs——2645 Spore
查看>>
iphone开发-多线程
查看>>
RHEL7新特性及RHEL6功能对比
查看>>
Windows服务器配置与管理
查看>>