主服务器IP:192.168.1.60
从服务IP:192.168.1.61
Linux:centOS
Mysql版本:5.1.58
点击进入
真实项目案例
##主从配置原理介绍
mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一个 Slave上。
在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,
其中两个线程(Sql线程和IO线程)在 Slave 端,
另外一个线程(IO线程)在 Master 端。
PS:
操作系统和mysql版本必须相同 两台主机网络相通
下面介绍Master配置
1
vi /etc/my.cnf(默认路径)。根据mysql路径不同而变。12345678910111213Server-id = 1 ##这是数据库ID,此ID是唯一的,主库默认为1,其他从库以此ID进行递增,ID值不能重复,否则会同步出错;log-bin = mysql-bin ## 二进制日志文件,此项为必填项,否则不能同步数据;binlog-do-db = testcreate #需要同步的数据库,如果需要同步多个数据库;##则继续添加此项。可选项binlog-do-db = testcreate1binlog-do-db = testcreate2binlog-ignore-db = mysql 不需要同步的数据库;2
运行 service mysqld restart ##重启mysql
进入Master Mysql终端命令(mysql -u uname -ppassword)你的mysql用户名和密码
3
配置完成后需要建立同步用的数据库账户
进入Master Mysql终端命令:
grantreplication slave on . to ‘testcreate’@’192.168.1.61’ identified by ‘123456’;说明:’testcreate’:同步的数据库;
‘192.168.1.61’:同步的数据库地址;
‘123456’ :同步的数据库密码,在从库配置时需要设置。
- 4
显示主库信息 进入Master Mysql终端命令: showmaster status;
显示以下内容代表Master配置成功
下面介绍Slave配置
从服务器的配置基本与主库配置差不多,选择的从库服务器为:192.168.1.61
配置从库服务my.cnf文件
vietc/my.cnf 对其进行如下修改:
|
|
- 2
运行 service mysqld restart ##重启mysql
进入Master Mysql终端命令(mysql -u uname -ppassword)你的mysql用户名和密码
运行:showslave status\G; 显示如图:
- 3
如果slave_io_running和slave_sql_running都为yes则表示从服务器配置成功。
如果遇到关于position相关的错误,就需要再手动设置以下File/Postion的信息
mysql>Changemaster to master_host = ‘192.168.1.60’
master_user= ‘test’
master_password=’123456’
master_log_file=’mysql-bin.000001’, 主库的文件信息
master_log_pos=’106’;主库的Position信息
- 4 测试
这个是我测得真实案例:
遇到问题请参照介绍博客:http://blog.csdn.net/alangmei/article/details/21075055