您的位置:首页 > 数据库 > MySQL

Cent OS – MySQL – 主从配置

2012-10-10 23:20 232 查看

一、安装CentOS 5.4 两台

a) 主机:192.168.1.122 - master

b) 从机:192.168.1.120 - slave

二、安装MySQL,使用系统默认的版本。

命令:yum install mysql-server mysql-devel mysql

三、运行MySQL

a) 查看MySQL运行状态

命令:service mysqld status

b) 运行MySQL

命令:service mysqld start

四、进入MySQL数据库控制台

命令:mysql –u root –p

默认的时候:密码为空

五、开始配置主机(master):

a) 创建同步数据库。

命令:create database repl;

b) 修改MySQL的配置文件,位置:/etc/my.cnf

命令:vi /etc/my.cnf

添加一下内容:

server-id=1 //唯一的id。数字

log-bin=log //主机日志文件,从机通过日志文件进行同步的。

binlog-do-db=repl //要同步的数据库

binlog-ignore-db=mysql //同步时忽略的数据库

c) 添加从机同步使用的账号(MySQL控制台下进行)

d) 命令:grant replication slave on *.* to ‘repl’@’192.168.1.120’ identified by ‘123456’

//repl : 用户名

//123456:密码

//ip地址:是从机的ip地址





可以查看添加用户信息

命令1:use mysql; //选择mysql数据库

命令2:select host,user,password from user; //查看用户信息表





e) 重启主机(master)MySQL 服务

f) 命令:service mysqld restart





g) 查看生成日志

h) 命令:show master status;





六、配置从机(master)

a) 创建同步数据库

命令:create database repl;

b) 修改MySQL配置文件,位置:/etc/my.cnf

命令:vi /etc/my.cnf

添加以下内容:

server-id=2 //唯一id,数字

master-host=192.168.1.122 //主机(master)ip地址

master-user=repl //主机中配置的用户名

master-password=123456 //主机中配置的密码

master-port=3306 //同步端口

master-connect-retry=60 //重连等待时间

replicate-do-db=repl //同步数据库,如果不写,同步全部。

c) 重启从机

命令:service mysqld restart;

d) 启动同步

e) 命令:start slave;





f) 查看从机状态

g) 命令:show slave status \G;









如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功。

h) 如果没有数据的话会有错误。但是在主数据库中添加数据之后,能进行同步。

七、如果在从机中进行了写入操作。启动Slave时Slave_SQL_Running为no是有日志错误。

那么就会停止从备份。

此时从新配置:

重启master

重启slave

查看master的日志信息

在从机中手动配置

命令:

change master to

master_host='192.168.1.222',

master_user='repl',

master_password='123456',

master_log_file='log.000003' ,

master_log_pos=98;

//注意是下划线。

八、出现问题

当我在执行start slave这条命令时,系统提示

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

执行show slave status;又提示Empty set (0.00 sec),想不通问题在哪里

后来发现,原来slave已经默认开启,要先关闭再开启

执行 slave stop;

再执行

change master to master_host='192.168.1.222',master_user='repl',master_password='123456', master_log_file='log.000003' ,master_log_pos=98;

然后执行 slave start;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL Cent OS