在一台windows上配置mysql主从数据库

来源:互联网 发布:创意文案 知乎 编辑:程序博客网 时间:2024/06/11 21:07

今天,试验在一台windows机器上安装了两个mysql服务,并配置主从关系;

环境:Windows XP
MySQL版本号:5.1.50

步骤如下:

1、安装主数据库[master]

 利用mysql安装包进行安装 到d:/mysql目录;

2、安装从数据库[slave]
  
   a)将安装完后的主库mysql目录拷贝一份到d盘根目录,d:/mysql_1;

   b)打开d:/mysql_1/my.ini文件,修改port、base_dir、data_dir、innodb_data_home_dir;

 port=3309
 base_dir="d:/mysql_1/"
 data_dir="d:/mysql_1/data/"
 innodb_data_home_dir="d:/mysql_1/data/"

   c)然后到命令行下,利用d:/mysql_1/bin/mysqld.exe注册服务(服务名:mysql_1)

 【C:/Documents and Settings/t>】 pushd d:/mysql_1/bin
 【D:/mysql/bin>】 d:/mysql_1/bin/mysqld --install mysql_1 --defaults-file=d:/mysql_1/my.ini
 提示 "Service successfully installed." 表示服务已注册成功。

   d)之后在命令行下执行"net start mysql_1",若执行后状态为RUNNING,表示服务已启动。

3、同步主从数据库

   a)主库执行命令,创建一个用户,供从库使用

 【mysql>】grant replication slave on *.* to 'slave001'@localhost identified by '123qwe';

   b)修改主库的my.ini文件(d:/mysql/my.ini),添加两个参数

 server-id=1
 log-bin=mysql-bin

   c)主库 设置读锁,读取日志文件名和偏移量;备份要同步的数据库(此处备份test);然后解锁

 【mysql>】flush tables with read lock;
 【mysql>】show master status/G;   //得到File为mysql-bin.000001, Position为106
 【D:/mysql/bin>】d:/mysql/bin/mysqldump -uroot -p test > test.sql
 【mysql>】unlock tables;

   d)修改从库的my.ini文件(d:/mysql_1/my.ini),添加server-id(值与主库不能相同)

 server-id=2

   e)导入主库备份的test.sql

 【D:/mysql_1/bin>】d:/mysql_1/bin/mysql -uroot -p < test.sql


   f)对从库进行相应设置

 【mysql>】change master to master_host='localhost';
 【mysql>】change master to master_user='slave001';
 【mysql>】change master to master_password='123qwe';
 【mysql>】change master to master_port='3306';
 【mysql>】change master to master_log_file='mysql-bin.000001';
 【mysql>】change master to master_log_pos='106';

   g)从库 启动slave线程,查看状态

 【mysql>】show slave status/G;
 若Slave_IO_Running 和 Slave_SQL_Running 都为yes,表明设置成功

   h)验证主、从库是否同步

 进入主库命令行,执行一条建表语句
 【mysql>】use test;
 【mysql>】create table test_1(`id` int(11) primary key);
 进入从库查看test库中是否有test_1表
 【mysql>】use test;
 【mysql>】show tables;
 若列表中有test_1表,说明配置主从数据库成功。

原创粉丝点击