主从数据库配置

来源:互联网 发布:互联网网络安全法考题 编辑:程序博客网 时间:2024/05/04 17:18
<span style="color:#00CCCC;"><strong><span style="font-size:32px;">主从数据库配置</span></strong></span><strong><span style="font-size:24px;">要求1:从数据库与主数据库环境一致(操作系统一致,mysql的版本一致,数据库的数据,两台数据库进行ping通)要求2:主从数据库都要指定server_id      开启bin-log日志</span><span style="font-size:18px;">1.配置主服务器打开mysql的配置  vim /usr/local/webserver/mysql/my.cnf开启server_id和bin-log日志server_id = '唯一值'(开启server_id)#二进制日志目录log-bin = /data/mysql/3306/binlog/binlog2.配置从服务器打开mysql的配置  vim /usr/local/webserver/mysql/my.cnf开启server_id和bin-log日志server_id = '唯一值'(开启server_id)#二进制日志目录log-bin = /data/mysql/3306/binlog/binlog修改完配置后记得重启数据库 service mysqld restart关键点:从数据库中必须有一个用户可以在从数据库的机器上去连接主服务器3.在主数据库中给从数据库一个用户进入mysql /usr/local/webserver/mysql/bin/mysql -p 密码mysql> grant all on *.* to 用户@从数据库的ip identified by '密码';flush privileges;刷新权限在主数据库中查看 show master status;主数据库的最新的bin-log日志文件名4.进入从数据库,执行下边的sql语句检查从数据库是否可以进入进入mysql /usr/local/webserver/mysql/bin/mysql -u主数据库给的用户 -p 密码 -h主数据库的ip ,如果可以进入,则退出进入mysql /usr/local/webserver/mysql/bin/mysql -p 密码<span style="font-size:24px;color:#FF0000;">特别,在执行change之前必须关闭从库 stop slave;</span> mysql> change master to master_host='主数据库ip',master_user='主数据库授权的用户名',master_password='主数据库授权的密码',master_log_file='主数据库的bin-log日志的文件名',master_log_pos='主数据库的bin-log日志的position值'

解决主从配置出现的问题

http://www.linuxidc.com/Linux/2012-02/54781.htm

5.开启从库 start slave;6.查看从库状态 show slave status\G;如果      Slave_IO_Running: Yes            Slave_SQL_Running: Yes                OK没问题主从配置完毕binlog命令/usr/local/webserver/mysql/bin/mysqlbinlog binlog.0.000001 查看binlog日志文件reset master 初始化binlog日志show master status; 查看最新的日志文件和position值flush logs 刷新log日志文件start slave 开启从库stop slave  停止从库show slave status;查看从库状态通过binlog日志恢复数据进入binlog目录 cd /data/mysql/3306/binlog/查看binlog列表 ls查看binlog日志文件 /usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001恢复数据 /usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001 | /usr/local/webserver/mysql/bin/mysql -p(在没有清空binlog日志之前可以恢复)如果执行了 reset master 就无法恢复</span></strong>

参考网址:http://www.bitscn.com/pdb/mysql/201407/226326.html

mysql主从数据库配置出现数据延迟现象如何解决

(1).在主机写入时,确认更新已经同步到从数据库中,再返回写操作成功,主流数据库均支持这种完全的同步模式,但是这样做可能会影响性能

(2).利用缓存,在插入新的数据之后,会有last_id返回,组装成数据,缓存到前端,读取此id时先从缓存取

(3)在架构方面做优化

(4)尽量让主库的DDL快速执行,还有就是主库是写,对数据安全性较高,比如 sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog,innodb_flushlog也 可以设置为0来提高sql的执行效率

(5)从库使用比主库更好的设备

(6)使用多台slave来分摊读取请求,从从库中取出一台专用的服务器只作为备份,不进行其他操作

(7)

slave_net_timeout单位为秒 默认设置为 3600秒

参数含义:当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据

master-connect-retry单位为秒 默认设置为 60秒

参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试。

通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟

参考网址:https://yq.aliyun.com/articles/42638

利用percona-toolkit工具检查MySQL数据库主从一致性及修复

参考网址:http://www.cr173.com/html/23093_1.html

mysql主从复制的优缺点:http://wangwei007.blog.51cto.com/68019/965575

0 0
原创粉丝点击