mysql主从复制的简单配置
jopen
9年前
0.环境:
master:windows7,mysql5.5
slave:centos6.5(虚拟机),mysql5.1
1.先说下centos6.5安装mysql以及简要配置
yum install -y mysql-server mysql mysql-devel
通过这种方式安装的是mysql5.1版本
然后
cd /usr/share/doc/mysql-server-5.1.73/ cp my-large.cnf /etc/my.cnf vi /etc/my.cnf
在[mysqld]下添加:
default-character-set=utf8 default-storage-engine=INNODB lower_case_table_names=1
在[client]下添加:
default-character-set=utf8
查找server-id,并改为2(不能和master的一样即可),如果没有的话自己添加一行
然后启动mysql
service mysqld start
修改root用户的密码,默认是空
mysqladmin -u root password 'root'
然后即可登录:
mysql -u root -p
让其他机器可以用root用户登录:
GRANT ALL ON *.* TO 'root'@'%' identified by 'root' WITH GRANT OPTION;
2.windows下master的配置
在my.ini末尾填下如下内容:
#Master Config server-id = 1 log-bin = mysql-bin binlog-do-db = test binlog-ignore-db = mysql
注意在slave的配置中也会有一个server-id,这2个不要重复即可
log-bin 指定日志类型
binlog-do-db 是你需要复制的数据库名称,如果有多个就用逗号“,”分开
binlog-ignore-db 是不需要复制的数据库名称,如果有多个就用逗号“,”分开
然后重启mysql
net stop mysql net start mysql
可以查看master的状态
show master status;
建立一个名称和密码都为slave的用户,专门用于复制
3.linux下slave的配置
有2种方式:
一种是直接修改/etc/my.cnf
另一种是用命令,可以不用重启mysql
这里用命令的方式:
change master to master_host='192.168.35.145', master_port=3306, master_user='slave', master_password='slave'
然后
start slave
查看slave状态
show slave status
这是master的test数据库就会同步到slave里,可以自己验证下
后面在master里面的修改都会自动同步到slave
来自:http://my.oschina.net/dxqr/blog/420661