您的位置:首页 > 数据库 > MySQL

ubuntu下配置mysql主从复制

2017-12-04 22:28 543 查看
上一篇博客配置了mysql多实例,相当于我现在有两台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

还是和主服务器上的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;


如图所示显示两个YES则配置成功,缺一不可!!!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu mysql