| 1、安裝mysql docker pull index.tenxcloud.com/tenxcloud/mysql 2、首先创建两个文件 my-master.cnf(主库配置)  # Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA # # The MySQL Community Server configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [client] port        = 3306 socket      = /var/run/mysqld/mysqld.sock [mysqld_safe] pid-file    = /var/run/mysqld/mysqld.pid socket      = /var/run/mysqld/mysqld.sock nice        = 0 [mysqld] user        = mysql pid-file    = /var/run/mysqld/mysqld.pid socket      = /var/run/mysqld/mysqld.sock port        = 3306 basedir     = /usr datadir     = /var/lib/mysql tmpdir      = /tmp lc-messages-dir = /usr/share/mysql explicit_defaults_for_timestamp log-bin = mysql-bin  server-id = 1  # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address   = 127.0.0.1 #log-error  = /var/log/mysql/error.log # Recommended in standard MySQL setup sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # * IMPORTANT: Additional settings that can override those from this file! #   The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ my-slave.cnf(从库配置)  # Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA # # The MySQL Community Server configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [client] port        = 3306 socket      = /var/run/mysqld/mysqld.sock [mysqld_safe] pid-file    = /var/run/mysqld/mysqld.pid socket      = /var/run/mysqld/mysqld.sock nice        = 0 [mysqld] user        = mysql pid-file    = /var/run/mysqld/mysqld.pid socket      = /var/run/mysqld/mysqld.sock port        = 3306 basedir     = /usr datadir     = /var/lib/mysql tmpdir      = /tmp lc-messages-dir = /usr/share/mysql explicit_defaults_for_timestamp log-bin = mysql-bin  server-id = 2 # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address   = 127.0.0.1 #log-error  = /var/log/mysql/error.log # Recommended in standard MySQL setup sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # * IMPORTANT: Additional settings that can override those from this file! #   The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ 3、创建master docker run -d -e MYSQL_PASS=123456 --name mysql-master -v /usr/local/mysql/my-master.cnf:/etc/mysql/my.cnf -p 3306:3306 6cbe7615c508 4、创建slave docker run -d -e MYSQL_PASS=123456 --name mysql-slave -v /usr/local/mysql/my-slave.cnf:/etc/mysql/my.cnf -p 3307:3306 6cbe7615c508 5、连接主库,创建一个用户并且用来同步数据 GRANT REPLICATION SLAVE ON *.* to 'admin'@'%' identified by '123456'; 6、查看主库状态 show master status; 记住File、Position的值,如果没查到数据,请检查第一、第二步,配置问题。  我查出来的是mysql-bin.000004、317 7、连接到从库,运行以下命令,设置主库链接 change master to master_host='xxx.xx.xx.xx',master_user='admin',master_password='123456', master_log_file='mysql-bin.000004',master_log_pos=317,master_port=3306; 8、启动同步 start slave; 9、查看同步状态 show slave status; 10、如果看到Waiting for master send event.. 什么的就成功了,你现在在主库上的修改,都会同步到从库上 |