日期:2014-05-16  浏览次数:20789 次

window 7 下一台cp 两个mysql 配置主从
环境 :

  个人 pc  windows7 一台 ;

  使用 :

  官方下载: mysql-noinstall-5.5.11-win32.zip

1. 解压 成2个 (文件夹)

  mysql_master  (主)

  mysql_slave   (从)

2. 配置文件修改

主服务器配置修改

mysql_master/my-huge.ini  修改名称为   my.ini  
修改刚才 my.ini 文件的 
[client]
port  = 3306
[mysqld]
server-id    = 1
port        = 3306
binlog-do-db    =test #同步test,此处关闭的话,就是除不允许的,其它的库均同步。
binlog-ignore-db=backup   不同步backup库,以下同上
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
log-bin=mysql-bin

启动 mysql-5.1.36-win32_1/bin/mysqld.exe
现在备份Master上的数据;
mysql>FLUSH TABLES WITH READ LOCK;
使用 主 mysql  -u root  创建同步角色
mysql>GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO backupuser@'127.0.0.1' IDENTIFIED BY '123456';;
mysql>show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      106 | test         | backup           |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
这里的file,position会在从库里用到。

从服务器配置:
mysql-5.1.36-win32_2/my-huge.ini  修改名称为   my.ini 
修改刚才 my.ini 文件的 

[client]
#password    = your_password
port        = 3307
socket        = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
server-id    = 2
master-host    = 127.0.0.1
master-user    = backup
master-password    = 123456
master-port    = 3306
port        = 3307

启动 mysql-5.1.36-win32_2/bin/mysqld.exe
我当时遇到的情况是没有成功启动,查看error日志
发现  [ERROR] d:/mysql_slave/bin/mysqld: unknown variable 'master-host=127.0.0.1'
然后把 下面四行注释掉
master-host    = 127.0.0.1
master-user    = backup
master-password    = 1234
master-port    = 3307
再执行下面的命令。
slave stop;
change master to master_host='127.0.0.1', master_user='backup', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=106;
slave start;
可以通过 show slave status;来看看从库的情况。不过信息太多。为了方便查看可以用下面这个命令
show slave status \G;
查看上面的Slave_IO_Running: Yes 和Slave_SQL_Running: Yes  2个都为yes则证明主从同步正常,如果有任一个显示NO,则证明同步有问题。可以查看数据库日志文件,里面基本上会显示出错误之处,根据错误一步一步排查,基本上都可以解决的。

解锁主库表;
UNLOCK TABLES;

测试
在主mysql服务器
use test
create table tt (ii int); 
然后在从mysql服务器
use test
show tables;
mysql> show tables ;
+----------------+
| Tables_in_test |
+----------------+
| tt             |
+----------------+
1 row in set (0.00 sec)