mysql数据库实时同步配置与常见问题解决方法
Mysql同步配置
前言:测试成功为redhat AS5 64位系统平台,Mysql severmysql-5.1.42-linux-x86_64-glibc23 版本
一、主数据库服务器配置
修改mysql的配置文件(对于windows就是MySQL安装目录下的my.ini文件,对于linux通常就是 /etc/myf文件),在配置文件中加入(或修改)
[root@drbd1 mysql]# vi /etc/myf
skip-name-resolve  //选项可以禁用dns解析,但是,这样不能在mysql风力发电机工作原理的授权表中使用主机名了,只能使用IP
skip-grant-tables  //如果你在myf中的有添加“skip-grant-tables”,那么任何的帐号用任何的密码(当然也包括空)都可以登录到mysql数据库了
max_connections=1000  // mysql的最大连接数默认是100, 这个数值对于并发连接很多的
数据库应用是远远不够的, 当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些
max_connect_errors=200 //出现某台host上海有哪些旅游景点连接错误次数等于max_connect_errors(默认10 ,主机'host_name'再次尝试时被屏蔽。
    server-id = 1
    log-bin=mysql-bin
   
binlog-do-db=dbname --要同步的数据库名称
                                                       如果同步所有数据库就不用设置
binlog-ignore-db=dbname --不要同步的数据库名称
如下:
binlog-do-db = BJ_Erp
binlog-ignore-db = information_schema
binlog-ignore-db = CQ_Erp
binlog-ignore-db = HK_Erp
binlog-ignore-db = mysql
binlog-ignore-db = test
binlog-ignore-db = vpopmail
注:MySQL进行主从复制是通过二进制的日志文件来进行,所以我们必须开启MySQL的日志功能,即我们上面的log-bin,同时每一台数据库服务器都需要指定一个唯一的server-id,通常主数据库服务器我们指定为1。
注创建数据库并整理:
create database Lottery CHARACTER SET utf8 COLLATE utf8_general_ci  //创建数据库并设置为uft8格式
 
给主数据库授予一个可以进行复制的用户
[root@drbd1 mysql]# mysql -u root –p
mysql> grant replication slave on *.* to fyx@'192.168.2.95' identified by 'fyxadmin' ;
驾驶证过期后不能超过多少时间Query OK, 0 rows affected (0.00 sec)
replication slave  ——MySQL数据库中表示复制的权限名称
    repuser  ——从数据库服务器登陆到主数据库服务器时用到的用户名称
    host >192.168.2.95   ——从数据库IP地址
    fyxadmin   ——登陆密码
    如果上述权限设置后,无法同步,可将其改为
mysql> grant select,insert,update,delete,replication slave on *.* to fyx@'192.168.2.95' identified by 'fyxadmin';
  配置完上述步骤后,就可以启动主数据库了。
二、从数据库配置
修改配置文件
[root@drbd1 mysql]# vi /etc/myf
skip-name-resolve  //选项可以禁用dns解析,但是,这样不能在mysql的授权表中使用主机名了,只能使用IP
skip-grant-tables  //如果你在myf中的有添加“skip-grant-tables”,那么任何的帐号用任何的密码(当然也包括空)都可以登录到mysql数据库了
max_connections=1000  // mysql的最大连接数默认是100, 这个数值对于并发连接很多的数据库应用是远远不够的, 当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些
max_connect_errors=200 //出现某台host连接错误次数等于max_connect_errors(默认10 ,主机'host_name'再次尝试时被屏蔽。
     server-id=2
    log-bin=mysql-bin    --在从服务器上启动日志记录,不是必须,但是官方建议
    master-host=主机     --主数据库服务器的IP地址
    master-user=用户名    --执行复制的用户名称,就是grant的用户,即fyx
    master-password=密码  --复制用户的密码,就是grant的用户密码,即fyxadmin
    master-port=端口      --主数据库服务器的端口,默认是3306
  master-connect-retry  =  60  --与主服务器失去连接时,从服务器重新尝试连接的时间间隔。
    replicate-do-db=dbname怎么转发文章  --需要同步的数据库
                                                        如果同步所有数据库就不用设置
  replicate-ignore-db=dbname  --不需要同步的数据库
如下:
replicate-do-db = BJ_Erp
replicate-ignore-db = information_schema
replicate-ignore-db = mysql
replicate-ignore-db = test    
现在可以重启从数据库,启动后,还需要启动复制线程
先在主查看:
腊肠饭
[root@drbd1 mysql]#  mysql -u root –p  >>>输入密码进入mysql
mysql> show master status;
+------------------+----------+--------------+------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      106 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
然后在从设置
mysql> slave stop;
mysql>reset slave;
mysql>
change master to
master_host='192.168.2.34',master_port=3306,master_user='fyx',master_password='fyxadmin',master_log_file='mysql-bin.000004',master_log_pos=106;
Query OK, 0 rows affected (0.03 sec)
mysql> slave start;
Query OK, 0 rows affected (0.01 sec)
change master to master_log_file='mysql-bin.000004',master_log_pos=106;
概述
    在做web应用系统中,如果数据库出现了性能瓶颈,而你又是使用的MySQL数据库,那么就可以考虑采用数据库集的方式来实现查询负载了。因为一般来讲一个系统中数据库
的查询操作比更新操作要多的多,因此通过多台查询服务器将数据库的查询分担到不同的查询数据库从而提高数据库的查询效率。

    MySQL数据库支持数据库的主从复制功能,使用主数据库进行数据的插入、删除与更新操作,而从数据库则专门用来进行数据库查询,从数据库还可以建立多台,通过负载均衡来实现查询,这样就可以将更新操作与查询操作分离到不同的数据库上,从而提高查询的效率,降低系统的负载。

 三、启动与监控
 1、监控主数据库服务器
运行于主数据库
mysql> show master status;
熊炜+------------------+----------+--------------+------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      106 |              |                  |
+------------------+----------+--------------+------------------+

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。