ubuntu下配置mysql主从复制

    上一篇博客配置了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
  如图所示,是我配置好的参数!

ubuntu下配置mysql主从复制_第1张图片

箭头是我们需要配置的属性
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;

如图所示:
ubuntu下配置mysql主从复制_第2张图片

注意箭头指的两个参数,我们配置从服务器上的mysql需要用到
至此,主服务器上的mysql配置完毕

配置从服务器上的mysql

还是和主服务器上的mysql一样,我们要打开从服务器上的my.cnf
在[mysqld]模块里面配置,如下图所示:
ubuntu下配置mysql主从复制_第3张图片

我们看到

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主从复制_第4张图片

你可能感兴趣的:(ubuntu,mysql)