Mysql笔记之 -- 小试MYSQL主从配置

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,即说明配置成功!

测试

这时你可以在主服务器上创建数据库、数据表、插入数据,查看从服务器是否能同步更新下来。

时间: 2024-08-27 10:40:43

Mysql笔记之 -- 小试MYSQL主从配置的相关文章

MySQL笔记系列:MySQL架构

MySQL逻辑架构 连接管理与安全性: 1.MySQL会为每一个客户端连接分配一个线程,这个连接的查询只会在这个单独的线程执行.服务器会负责缓存线程,因此不需要为每一个新建立的连接创建或则销毁线程. 2.当客户端连接到MySQL服务器时,服务器将对其进行身份认证.认证基于用户名.主机信息和密码,也可以基于SSL的方式进行连接.一旦客户端连接成功,服务器会继续验证该客户端是否具有执行某个特定查询的权限. 优化与执行: 1.MySQL会解析.查询,并创建内部数据结构,然后对其进行各种优化,包括重写查

Mysql笔记之 -- 开启Mysql慢查询

Mysql慢查询日志_1--如何开启慢查询日志 Windows下开启MySQL慢查询 MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上 log-slow-queries=C:/Program Files/MySQL/MySQL Server 5.1/Datafiles/slowquery.log long_query_time=2 log-slow-admin-statements log-queries-not-using-indexes Linux下

《高可用MySQL》读书笔记2 – 单机版MySQL主从配置

这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置master服务器 配置slave服务器 将slave连接到master 在配置完成之后,我们会做一个简单的测试,测试复制是否正常. 本文所涉及的master和slave服务器均位于同一台单机上,使用不同的端口号区分,基本的环境为:Window 7 旗舰版 32位,MySQL的版本为5.6.21 .上一

笔记13(FTP配置、tomcat配置、resin配置、MySQL主从配置)

FTP服务搭建与配置 FTP介绍 FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机. 小公司用的多,大企业不用FTP,因为不安全. 使用vsftpd搭建ftp服务 centos上自带vsftpd 安装:yum instal

《高可用MySQL》2 – 单机版MySQL主从配置

这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave.没有不论什么的热机备份和多slave),该主从结构的基本拓扑图例如以下所看到的: 建立主要的主从复制能够总结为下面三个基本步骤: 配置masterserver 配置slaveserver 将slave连接到master 在配置完毕之后.我们会做一个简单的測试.測试复制是否正常. 本文所涉及的master和slaveserver均位于同一台单机上.使用不同的port号区分,主要的环境为:Window 7 旗舰版 32位.My

MySQL主从配置实例

系统环境:centos 6.3_64位  2台 MySQL版本:mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz master :192.168.1.201 slave :192.168.1.202 要求: MySQL版本一致 两台机器能互通,iptables开放3306端口或关闭iptables 关闭selinux 配置步骤: 1.安装数据库 下载,安装MySQL这里不多讲(见MySQL安装这篇笔记) 2.修改主服务器master:   #vi /etc/my

mysql主从配置

首先说下为什么需要mysql主从? 主要有三个原因:1,可以辅助备份,提高数据安全性:2,可以实现读写分离,达到负载分担的效果:3,可以实现高可用,在主服务器故障时,迅速切换到从,保证业务不间断运行. 针对上述需求,基本上一主一从,即可满足. 再来看下mysql主从复制的工作过程: 主要有三步: 1)master将改变记录到二进制日志(binary log)中,(这些记录叫做二进制日志事件,binary log events)   2)slave将master的binary log events

Mysql主从配置,实现读写分离

大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想.这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力.Ok切入今天微博主题,利用MySQL主从配置,实现读写分离,减轻数据库压力.这种

Mysql Master-slave 主从配置

MySQL主从复制 场景描述:主数据库服务器:192.168.10.130,MySQL已经安装,并且无应用数据.从数据库服务器:192.168.10.131,MySQL已经安装,并且无应用数据. 2.1 主服务器上进行的操作 启动mysql服务 /opt/mysql/init.d/mysql start 通过命令行登录管理MySQL服务器 /opt/mysql/bin/mysql -uroot -p'new-password' 授权给从数据库服务器192.168.10.131 mysql> GR