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