mysql配置主从 1067_mysql5.1 主从 配置

由于项目以后可能会用到关于数据库备份,主要是用主从复制,来实现数据库的读写分离等功能。在这几天对mysql 的主从配置研究了下,我在电脑上配置了两个mysql 数据,配置还真有点麻烦。。关键还是对mysql 的数据库的了解不够,导致的,闲话不说了,现在开始配置。。

1.首先在本机(Windows)上配置两个数据库。

我下载的是mysql 的noinstall 版本的,安装版的好像要折腾一番,好麻烦,试了下,觉得不爽,就下载免安装版的了。

下载好以后,修改下mysql 的配置文件,把my-small.ini 复制下,改成my.ini,默认端口是3306,就不修改了。然后要开启服务,然后启动服务。开始用cmd 来写命令,后来觉得老是这样太麻烦了,又看了下bat 的语法。随便写了几个简单的bat 脚本。。在调试过程中方便好多。。把这些保存后放在解压后的mysql 根目录下。

(1)安装mysql1 服务

@echo off

bin\mysqld.exe --install mysql1 --defaults-file="D:\mysql5.1\mysql1\my.ini"

PAUSE

(2)移除mysql1 服务

@echo off

bin\mysqld.exe --remove mysql1

PAUSE

(3)启动mysql1服务

@echo off

net start mysql1

PAUSE

(4)停止mysql 1服务

@echo off

net stop mysql1

PAUSE

第二个mysql 的也一样,不过要注意的是,服务名要不一样才行。我起的名是mysql2,而且my.ini 的端口也要不同,我的是3307.

ps:我的两个mysql 是完全隔离的,完全复制两个免安装版本,好像说一个免安装文件就行了,配置路径不同就行了。

遇到问题:在mysql 启动的过程中,遇到了1067 的错误码提示。。我的解决方案是配置下my.ini 增加下面几项,然后重启服务,解决问题。

[mysqld]

#设置basedir指向mysql的安装路径

basedir=D:\mysql5.1\mysql1

datadir=D:\mysql5.1\mysql1\data

还遇到个问题是,初始帐号密码的修改。。可以用cmd 命令行修改。

c:/mysql/mysql1/bin> mysqladmin -u root password newpass

上面在同一台机上安装好了两个mysql 的数据库了。 下面开始配置主从。。

2.mysql数据库主从配置

(1)master 配置

首先,为了复制的安全性,给slave 个专门创建个复制mysql 的帐号,并赋予权限。

CREATE USER 'repl'@'localhost' IDENTIFIED BY 'root';

GRANT REPLICATION ON *.* TO 'repl'@'localhost'

接下来,配置my.ini

#数据库主从配置开始

#本机数据库ID 标示为主

server-id= 1

#二进制需要同步的数据库名

binlog-do-db=yyweb

# Uncomment the following if you want to log updates

#启动二进制日志系统

log-bin=mysql-bin

#数据库主从配置结束

然后重启下mysql1 的服务。然后进入mysql 命令行,输入以下命令查看状态。

mysql> show master status\G

*************************** 1. row **************************

File: mysql-bin.000002

Position: 671

Binlog_Do_DB: yyweb

Binlog_Ignore_DB:

1 row in set (0.00 sec)

(2)slave 配置

首先,配置my.ini

server-id = 2

#从服务器ID号,不要和主ID相同

master-host =127.0.0.1

#指定主服务器IP地址

master-user =repl

#制定在主服务器上可以进行同步的用户名

master-password =root

#密码

master-port =3306

#同步所用的端口

master-connect-retry=60

#断点重新连接时间

replicate-ignore-db=mysql

#屏蔽对mysql库的同步

replicate-do-db=yyweb

#同步数据库名称

然后重启下mysql2 的服务。然后进入mysql 命令行,输入以下命令查看状态。

mysql> show slave status

如果成功的话,可以查看到其中的两列

SLAVE_IO_RUNNING:YES

SLAVE_SQL_RUNNING:YES

如有其中有一列为NO,说明是连接不成功的。则检查下my.ini 的配置。

以下是成功连接后,在master 添加数据后,slave 的状态

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 127.0.0.1

Master_User: repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000002

Read_Master_Log_Pos: 671

Relay_Log_File: trye-relay-bin.000008

Relay_Log_Pos: 816

Relay_Master_Log_File: mysql-bin.000002

·········以下省略

遇到问题:开始的时候把master 的用户名密码写错了,查看slave 的状态的时候老是SLAVE_SQL_RUNNING:NO,经过一段时间检查,发现mysql 的日志这东西还真不错。。哈哈。。mysql 的日志文件在data 下面非文件夹。。一个个查看便是。。其中有一个master.info 的文件,记录了该主服务器的信息,还有一些错误日志等,如果有错误信息可以很清楚的看到。

mysql 主从配置完毕,总结一点是,对mysql 的配置文件不熟,以上也是参考网上进行配置的,所以有写具体的问题,未能清楚说明,还有待深入了解mysql 的官方文档。。

描述: 主从mysql 的my.ini配置

下载次数: 15

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-07-23 13:24

浏览 2064

分类:数据库

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值