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

时间:2023-03-09 08:16:17
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)