今天在翻看之前所记得笔记的时候,发现当初,学习mysql主从数据库搭建的笔记,发出来,留个纪念。

搭建环境 虚拟机linux centOS6.3 mysql + 本地win8 mysql数据库(尽量保持版本相同,不要差别太大,最好一致)

Window 上面的数据库充当主服务器

第一步:建立主服务器
打开my.Ini(linux中为mycnf)。
找到如下一段鸟文
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin  #开启二进制日志
# binary logging format – mixed recommended
binlog_format=mixed  #指定日志格式
# required unique id between 1 and 2^32 – 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id  = 1 #给服务器起一个唯一的id 大小在1-2^32 -1之间
=======重启mysql======
【授权给从服务器】给从服务器开通一个读取主服务器的帐号
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO slave@’192.168.0.%’ IDENTIFIED BY ‘111111’;
REPLICATION SLAVE, REPLICATION CLIENT开通slave,replication client权限
*.*在所有库的所有表
TO slave授权给slave
@192.168.2.%允许来自192.168.2.%的所有IP访问
By  111111访问密码
第二步设置从服务器
打开另外一个服务器(linux上面的从服务器)中的my.cnf 文件
注意如果没有上述配置项 可以在【mysqld】节点下面自己添加
#打开二进制日志记录
log_bin           = mysql-bin
#起服务器起一个唯一ID
server_id         = 2
#开启中继日志
relay_log         = mysql-relay-bin
#更新自己的二进制日志
log_slave_updates = 1
#只读
read_only         = 1
=======重启mysql========
(pkill -9 mysqld)先杀死它
(Mysqld_safe –user=mysql&)再救活它
告诉从服务器访问主服务器需要的帐号和密码(再找到下面一段鸟文,用第一种方法)
# 1) Use the CHANGE MASTER TO command (fully described in our manual) –
#    the syntax is:
#    CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,
#    MASTER_USER=, MASTER_PASSWORD= ;
#    where you replace , , by quoted strings and
#    by the master’s port number (3306 by default).
#    Example:
#    CHANGE MASTER TO MASTER_HOST=’125.564.12.1′, MASTER_PORT=3306,
#    MASTER_USER=’joe’, MASTER_PASSWORD=’secret’;
mysql> CHANGE MASTER TO
-> MASTER_HOST=’192.168.1.100′, #主服务器地址
-> MASTER_PORT=3306,         #主服务器端口
-> MASTER_USER=’slave,        #访问主服务器所用的帐号
-> MASTER_PASSWORD=’111111′, #密码
-> MASTER_LOG_FILE=’mysql-bin.000001′,#从主服务器第几个二进制日志开始复制
-> MASTER_LOG_POS=0;               #日志第0行开始复制

最后一步:下令让从服务器开始复制

start slave;

#查看进程

->show processlist;

如果状态显示为如下

说明没有成功链接上主服务器,这时候需要检查一下主从通信是否正常。一般是防火墙搞的鬼。(当然也有不小心用户密码用户名弄错了。),我本次搭建的时候就出现这种情况(主服务器在win8系统上)。

测试是否能正常复制

在主数据库创建 tttt数据库

查看从数据库


mysql主从多个数据库 mysql主从数据库搭建_二进制日志