您好,欢迎访问一九零五行业门户网

单机版的Mysql主从数据库配置

环 境 mysql-5.0.22 解压版。(copy 成两份 ,master,slave) windowsxp 一、master的设置 1、配制my.ini [client] port = 3308 [mysqld] port =3308 server-id = 1 binlog-do-db=test1 ##要同步的数据库名为test1 log-bin =mysql-bin 然后在console 执行: gr
环 境
mysql-5.0.22 解压版。(copy 成两份 ,master,slave)
windowsxp
一、master的设置
1、配制my.ini
   [client]
   port = 3308
   [mysqld]
    port           =3308
    server-id    = 1
    binlog-do-db=test1  ##要同步的数据库名为test1 
    log-bin    =mysql-bin
然后在console 执行: grant file,select,replication slave on *.* to 'slaver1'@'127.0.0.1' identified by 'slaver1pwd';
开一个新账号(用户名:slaver1 密码:slaver1pwd)并赋于权限 
运行mysqld.exe,并创建新数据库test1,可在console下输入:show master status\g查看状态!
   *************************** 1. row*****************
            file: mysql-bin.000305
            position: 98
            binlog_do_db: test1
            binlog_ignore_db:
二、slaver 的设置
1、配制my.ini
   [client]
   port        = 3309
[mysqld]
   port        = 3309
   server-id       = 2
   master-host     =   127.0.0.1
   master-user     =   slaver1
   master-password =   slaver1pwd
   master-port     =  3308
replicate-do-db=test1  ##要同步的数据库
   运行slaver 的mysqld.exe,在console窗口执行 show slave status\g  查看状态,如下:
*************************** 1. row ***************************
             slave_io_state: waiting for master to send event
                master_host: 127.0.0.1
                master_user: slaver1
                master_port: 3308
              connect_retry: 60
            master_log_file: mysql-bin.000305
        read_master_log_pos: 98
             relay_log_file: ccf-3acf6017ef4-relay-bin.000005
              relay_log_pos: 235
      relay_master_log_file: mysql-bin.000305
           slave_io_running: yes
          slave_sql_running: yes
            replicate_do_db: test1
        replicate_ignore_db:
         replicate_do_table:
     replicate_ignore_table:
    replicate_wild_do_table:
replicate_wild_ignore_table:
                 last_errno: 0
                 last_error:
               skip_counter: 0
        exec_master_log_pos: 98
            relay_log_space: 235
            until_condition: none
             until_log_file:
              until_log_pos: 0
         master_ssl_allowed: no
         master_ssl_ca_file:
         master_ssl_ca_path:
            master_ssl_cert:
          master_ssl_cipher:
             master_ssl_key:
      seconds_behind_master: 0
 常见问题
1、sql i/o running:  no
      原因:用户名或密码不正确、slaver1的权限不够!
如果正确的执行:grant file,select,replication slave on *.* to 'slaver1'@'127.0.0.1' identified by 'slaver1pwd';  仍然显示sql i/o running:no,可能是master的用户管理中slaver用户未选中replication client (用navicat-manager user ->slaver1 的右边可选列表 )
2、slave_sql_running: no
       原因:
       a.程序可能在slave上进行了写操作 
       b.slave机器重起后,事务回滚.
        解决方法:
        在slaver的console:
         2.1.停掉slave服务
              mysql>slave stop
         2.2、查看master的状态:(在master上执行)
              show master status\g
         2.3、手工同步
mysql> change master to
> master_host='127.0.0.1',
> master_user='slaver1', 
> master_password='slaver1pwd', 
> master_port=3308,
> master_log_file='mysql-bin.000020',
> master_log_pos=98;
          2.4、重启slave
                mysql> slave start;
附录
       1、查看异常信息文件:一般在data(数据库存文件的存放位置)的文件夹中,后缀名为.err的文件
        2、show processlist\g  可以协助查看用户信息
其它类似信息

推荐信息