安装mysql
?# 1.搜索镜像
? ?docker search mysql
?# 2.拉取镜像
? docker pull mysql
?#3.查看镜像
?docker images
?#4.启动镜像
? ? docker run -d -p 3306:3306 --privileged=true \
? ? -v /home/mysql/log:/var/log/mysql \
? ? -v /home/mysql/data:/var/lib/mysql \
? ? -v /home/mysql/conf:/etc/mysql/conf.d \
? ? -e MYSQL_ROOT_PASSWORD=123456 ?\
? ? --name mysql mysql:5.7
?#新建my.cnf 通过容器卷同步给mysql容器实例
? ? ?[client]
? ? default_character_set=utf8
? ? [mysqld]
? ? collation_server = utf8_general_ci
? ? character_set_server = utf8
#重新启动mysql容器实例再重新进入并查看字符编码
? ? ?docker restart mysql
? ? ?docker exec -it mysql /bin/bash
? ? ?SHOW VARIABLES LIKE 'character%'
安装mysql主从复制
复制的基本原理:
? ? slave会从master读取binlog来进行数据同步
1. master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;
2. slave将master的binary log events拷贝到它的中继日志(relay log);
3. slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的
复制的基本原则
? ? ?每个slave只有一个master
? ? ?每个slave只能有一个唯一的服务器ID
? ? ?每个master可以有多个salve
复制的最大问题
? ? 延时
?
?