1. wget 安装
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.36.tar.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
2. docker 安装
docker search mysql # 查找mysql 镜像
docker pull mysql:tag #安装指定tag 版本的MySQL, 不写 :tag ,默认为latest
docker run --name your-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 #启动MySQL容器
1.第一步
#mysql master1 config/主节点配置
[mysqld]
server-id = 1 # 节点ID,确保唯一
# log config
log-bin = mysql-bin #开启mysql的binlog日志功能
sync_binlog = 1 #控制数据库的binlog刷到磁盘上去 , 0 不控制,性能最好,1每次事物提交都会刷到日志文件中,性能最差,最安全
binlog_format = mixed #binlog日志格式,mysql默认采用statement,建议使用mixed
expire_logs_days = 7 #binlog过期清理时间
max_binlog_size = 100m #binlog每个日志文件大小
binlog_cache_size = 4m #binlog缓存大小
max_binlog_cache_size= 512m #最大binlog缓存大
binlog-ignore-db=mysql #不生成日志文件的数据库,多个忽略数据库可以用逗号拼接,或者 复制这句话,写多行
auto-increment-offset = 1 # 自增值的偏移量
auto-increment-increment = 1 # 自增值的自增量
slave-skip-errors = all #跳过从库错误
2.第二步
进入master的数据库,为master创建复制用户
CREATE USER repl_user IDENTIFIED BY '密码';
3.第三步
grant replication slave on *.* to 'repl_user'@'slave db ip地址' identified by '密码';
FLUSH PRIVILEGES;
4.第四步
show master status; 查看master 状态
1.第一步
[mysqld]
server-id = 2
log-bin=mysql-bin
relay-log = mysql-relay-bin
replicate-do-db = 你的数据库名字
slave-skip-errors = all
2.第二步
change master to master_host='master节点IP', master_user='repl_user', master_password='密码', master_log_file='mysql-bin.000068', master_log_pos=1851774;
其中master_log_file ,master_log_pos 为 show master status; 命令打印出来的值