主库配置
1、创建文件夹
mkdir /data/mysql/master01 -p
2、进入文件夹
cd /data/mysql/master01
3、在文件夹内创建继续创建文件夹
mkdir conf data
4、授权(涉及到docker权限问题,所以要授权)
chmod 777 * -R
5、创建一个my.conf文件
vim my.conf
6、插入数据
[mysqld]
log-bin=mysql-bin
server-id=1
7、在docker内创建镜像
docker create --name percona-master01 -v /data/mysql/master01/data:/var/lib/mysql -v /data/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 percona:5.7.23
8、启动容器
docker start percona-master01 && docker logs -f percona-master01
为了在实现主从复制,需要在主数据库创建用户并授权
以下是在navicat中实现,事先需要连接对应的服务器中的数据库
9、创建用户并授权
create user 'itcast'@'%' IDENTIFIED BY 'itcast';
grant replication SLAVE on *.* to 'itcast'@'%';
用户是itcast,密码是itcast
如下:
下面出现的err没关系,只是显示问题,但是实际上用户已经创建好了
记得刷新配置
flush PRIVILEGES;
如果想解决以上出现的无关紧要的err,需要在服务器刚刚创建的my.conf中加入
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
10、查看数据库状态获得参数
show master status;
11、查看二进制日志相关的配置项
show global variables like 'binlog%'
12、查看server相关的配置项
show global variables like 'server%'