Mysql主从复制的配置(双机互为主从)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mysql主从复制的配置(双机互为主从),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2180字,纯文字阅读大概需要4分钟。
内容图文
目的: 让两台mysql服务器可以互为主从提供同步服务.
优点:
-
mysql的主从复制的主要优点是同步"备份", 在从机上的数据库就相当于一个(基本实时)备份库.
-
在主从复制基础上, 通过mysqlproxy可以做到读写分离, 由从机分担一些查询压力.
- 做一个双向的主从复制, 两台机器互相为主机从机, 这样, 在任何一个机器的库中写入, 都会"实时"同步到另一台机器, 双向的优点在于当一台主机发生故障时, 另一台主机可以快速的切换过来继续服务.
步骤:
- 在两台机器上添加一个用于从机访问的帐号, 赋予REPLICATION SLAVE权限.
GRANT REPLICATION SLAVE ON . TO 'slave'@'%' IDENTIFIED BY 'slave';
为slave用户赋予任何数据库中任何表上的REPLICATION SLAVE权限, 此用户可以在网络任意位置访问, 访问时以密码slave标记.
当使用的是ubuntu的时候, 需要注意一点, /etc/mysql/my.cnf配置文件下的bind-address = 127.0.0.1这一行需要注释, 不然从机在请求时是连接不到的.(我的是ubuntu, 其他版linux不知道会不会一样)
为了保证工作的步骤明细, 可以采用在配置完用户相关信息之后, 在另一台机器上以分配的用户密码连接一次, 能成功则能保证当前步骤是正确的.
- 配置服务器编号, 开启bin-log
编辑mysql配置文件, linux: /etc/mysql/my.cnf, windows: c:/program files/mysql/mysql 5.0/my.ini
找到[mysqld]这个标签,
在它的下面有两行
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
打开这两行的注释, 注意这里的server-id是服务器编号, 所以, 两台服务器上的值要设置的不一样. 比如1和2
- 使server-id和log-bin的配置修改生效:
sudo /etc/init.d/mysql restart
或者windows下在服务里重启mysql服务
- 将两台数据库服务器的mysql都锁定
在mysql命令模式下:
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
此时请保证执行这两条命令的mysql控制台不要退出.
- 分别重新打开一个mysql控台台, 配置主机
CHANGE MASTER TO
MASTER_HOST = 'host', #另一台机器的地址
MASTER_PORT = 3306, #另一台机器的端口
MASTER_USER = 'slave',#另一台机器上第一步分配的用户名
MASTER_PASSWORD = 'slave', #另一台机器上第一步分配的密码
MASTER_LOG_FILE = 'mysql-bin.000001',#另一台机器上执行SHOW MASTER STATUS得到的文件名
MASTER_LOG_POS = 192; #另一台机器上执行SHOW MASTER STATUS得到的偏移量
- 开启同步
START SLAVE;
- 验证正确性
SHOW SLAVE STATUS;
如果返回的结果第一列是Waiting for master to send event或者Queueing就说明配置是正确的, 当然, 还可能会有其他的信息也是正确的, 只不过我这里没有收集到...呵呵
如果有说的不合适的地方, 请拍砖.
内容总结
以上是互联网集市为您收集整理的Mysql主从复制的配置(双机互为主从)全部内容,希望文章能够帮你解决Mysql主从复制的配置(双机互为主从)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。