上一篇博客配置了mysql多实例,相当于我现在有两台mysql数据库了(虽然都是在本机......................)
接下来配置mysql的主从复制,其实过程也不复杂,细心一点就行了。
mysql的主从复制:故名思意,就是有一台mysql服务器当主服务器,
还有一台mysql服务器当从服务器,当主服务器有数据更新时,会同步到我们的从服务器。
第一步:在主服务器上的mysql分配个账号给从服务器的mysql,用来登录主服务器
登录mysql
mysql -uhjr -p123456
分配账号
grant replication slave,reload,super on *.* to hjrslave@127.0.0.1
identified by '123456';
刷新权限
flush privileges;
代码说明:
因为我这里的mysql主从都在一台机器上,所以ip就用127.0.0.1,这个ip是从服务器的ip
请根据自己的从服务器ip地址更改!
第二步:配置my.cnf配置文件
先找到我们的my.cnf,一般是在/etc/mysql目录下面
如果是解压包安装的,又忘记安装在哪了,就用查询命令
查询命令
find / -name my.cnf
使用vim编辑我们的my.cnf
在[mysqld]模块里面配置属性
vim /etc/mysql/my.cnf
如图所示,是我配置好的参数!
箭头是我们需要配置的属性
server-id=1 (这个id每个mysql都要不一样,也就是说待会从服务器上的id 和这个要不一样,一般取ip地址的尾数)
binlog_do_db=info (也就是需要主从复制的数据库名字)
binlog_ignore_db=mysql
配置好了我们重启下主服务器上mysql的服务
service mysql restart
看一下主服务器上的状态参数,待会从服务器配置需要用
登录主服务器的mysql
登录mysql
mysql -uhjr -p123456
在mysql中执行
show master status;
注意箭头指的两个参数,我们配置从服务器上的mysql需要用到
至此,主服务器上的mysql配置完毕
还是和主服务器上的mysql一样,我们要打开从服务器上的my.cnf
在[mysqld]模块里面配置,如下图所示:
我们看到
server-id=2( 这个和主服务器的id要不同)
还有配置了
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
老规矩,我们重启从服务器上的mysql服务
service mysql restart
登录mysql
mysql -uhjr -p654321
在mysql里面关闭奴隶
stop slave;
然后设置从master复制日志配置
change master to master_host='127.0.0.1',master_user='hjrslave',
master_password='123456',master_log_file='log.000013',master_log_pos=274;
一些说明:
这里的master_host是主服务器的ip地址,默认端口是3306,master_user是我们在主服务器上的mysql分配给从服务器登陆的用户,master_log_file,master_log_pos是我们主服务器上Mysql的状态
在上面有命令和图片说明了,这里要和上面的参数对应
最后一步,显示奴隶状态:
mysql 命令
show slave status\G;