mysql数据库主从复制教程

olei 1,002 views 1

准备装有mysql的两台服务器
IP分别为:

xxx.xxx.xxx.1 (主)

xxx.xxx.xxx.2 (从)

授权

  • 将这两台IP授权,允许其它IP通过账号密码进行访问(添加账号为test,密码为12345
  • 分别登录两台服务器,进入mysql,输入:
  1. mysql> Grant all privileges on *.* to 'test'@'%' identified by '123456' with grant option;
  2. mysql> Flush privileges;

上述代码的意思是创建一个test用户,host=%,允许所有IP通过用户名test进行访问。添加完刷新权限。
此时两台机子的mysql应该是可以相互访问的,如果不可以,导致的原因有很多,最常见的是防火墙没关,或者是安全组没有放通3306端口(从)

主数据库配置

  • 登录主服务器,进入mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,在[mysqld]下面添加:
  1. server-id=1
  2. log-bin=master-bin
  3. log-bin-index=master-bin.index
  • 重启服务(这个是ubuntu的重启方式之一):
  1. $ /etc/init.d/mysql restart
  • 进入mysql,查看主服务器mysql master状态:
  1. mysql> show master status;
  2. +-------------------+----------+--------------+------------------+
  3. | File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  4. +-------------------+----------+--------------+------------------+
  5. | master-bin.000001 |      245 |              |                  |
  6. +-------------------+----------+--------------+------------------+

 

日志File为master-bin.000001,Position为245(这个得记下来,设置从服务的要用)

从数据库配置

  • 登录从服务器,进入mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,在[mysqld]下面添加:
  1. server-id=10
  2. log-bin=master-bin
  3. log-bin-index=master-bin.index

server-id可以是其他,但是不能与主服务器上的一样

从数据库连接主服务

  • 在从服务器中,登录数据库,输入:
  1. mysql> change master to
  2.     -> master_host = 'xxx.xxx.xxx.1',
  3.     -> master_user='test',
  4.     -> master_password='12345',
  5.     -> master_log_file='master-bin.000001',
  6.     -> master_log_pos= 245;
  7. Query OK, 0 rows affected, 2 warnings (0.13 sec)

启动slave

  • 启动:
  1. mysql> start slave;
  2. Query OK, 0 rows affected (0.01 sec)
  • 查看状态:
  1. mysql> show slave status\G

显示的内容一定有这个情况才算配置正常:

  1. Slave_IO_Running: Yes
  2. Slave_SQL_Running: Yes

测试

  • 在主数据库上创建一个test_zhucong的数据库,创建一个test

mysql数据库主从复制教程

可以看到,从数据库也相应的有了这个数据库以及表

注意

做主从复制时,首先确定两台服务器的mysql没任何自定义库(否则只可以配置完后之前的东西没法同步,或者两个库都有完全相同的库应该也是可以同步,图中主数据库有些数据库在从的里面没有,就是因为主从设置之前,创建了)

server_id必须配置不一样

打赏
发表评论 取消回复
表情 图片 链接 代码

  1. olei
    olei 站长

    你好,各位

分享
微信
微博
QQ