一、安装CentOS 5.4 两台
a) 主机:192.168.1.122 - masterb) 从机:192.168.1.120 - slave
二、安装MySQL,使用系统默认的版本。
命令:yum install mysql-server mysql-devel mysql
三、运行MySQL
a) 查看MySQL运行状态命令:service mysqld statusb) 运行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 restartg) 查看生成日志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;