MySQL复制技术:主从
在MySQL里面建立最基本的复制,可以总结为以下三个步骤:
1. 配置一个服务器作为Master;
2. 配置一个服务器作为Slave;
3. 将Slave连接到Master.
1) 配置Master
1. my.cnf中参数的配置
将服务器配置为Master。要确保该服务器有一个活动的二进制日志(binary log) 和唯一的服务器ID.
a. 要是Master上面的日志没有删除过的话,二进制日志记录了Master上面的所有改变,这些日志在Slave上面重新执行就好了。
b. 服务器ID用于区分服务器
创建二进制日志和服务器ID 都是在my.cnf里面设置的
其他的参数在这里就不展示了
log-bin = /data/mysql/log/vm1-bin.log
log-bin-index = /data/mysql/log/master-bin.index
server-id = 1
log-bin选项 给出了二进制日志产生的所有文件的基本名(默认值是 主机名-bin);log-bin-index选项给出了二进制索引文件的文件名,大家都知道这个是所有二进制文件的列表。
每一个服务器都有一个唯一的 server-id
就按照上面的配置 重启服务 mysqld service restart 使得参数生效。
2.在master上面创建复制用户 并且赋予权限
例如:
create user repuser;
grant replication slave on *.* to repuser identified by 'aa12AA,.';
2) 配置Slave
1. my.cnf中参数的配置
relay-log-index = /data/mysql/log/vm2-slave-bin.index
relay-log=/data/mysql/log/vm2-slave-bin.log
server-id = 2
relay-log-index 选项是中继日志索引文件 ,relay-log选项是中继日志文件名。
2.重启服务 使得参数生效。
3) 连接Master和Slave
首先找到Master的服务器信息 1.主机名 2.端口号(master的 my.cnf里面有) 3.Master上拥有replication slave 权限的账号和密码 (比如我们刚才建立的reply_user)
在slave上面执行建立连接的语句:
change master to
master_host = '192.168.12.181',
master_port = 3306,
master_user = 'repuser',
master_password = 'aa12AA,.';
-- 启动复制
start slave ;
-- 查看复制的状态
show slave status\G;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。