发布时间: 2023-7-4 文章作者: myluzh 分类名称: MySQL 朗读文章
docker run -d \ --name mysql_master \ --network mysql-network \ -v /Users/myluzh/Documents/docker/mysql_master/data:/var/lib/mysql \ -v /Users/myluzh/Documents/docker/mysql_master/log:/var/log/mysql/ \ -v /Users/myluzh/Documents/docker/mysql_master/config:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=Qwer1234. \ mysql:latest docker run -d \ --name mysql_slave \ --network mysql-network \ -v /Users/myluzh/Documents/docker/mysql_slave/data:/var/lib/mysql \ -v /Users/myluzh/Documents/docker/mysql_slave/log:/var/log/mysql/ \ -v /Users/myluzh/Documents/docker/mysql_slave/config:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=Qwer1234. \ mysql:latest
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Qwer1234.'; mysql> GRANT ALL ON *.* TO 'repl'@'%'; mysql> ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Qwer1234.'; mysql> select host,user,plugin from user; mysql> FLUSH PRIVILEGES;2.编辑主库的配置文件 my.cnf,启用二进制日志记录,并设置唯一的服务器ID。
# vi /Users/myluzh/Documents/docker/mysql_master/config/my.cnf [mysqld] log-bin=mysql-bin server-id=13.配置从库的配置文件 my.cnd,设置唯一的服务器ID。
[mysqld] server-id=24.获取主库MASTER_LOG_FILE和MASTER_LOG_POS信息。
mysql> SHOW MASTER STATUS; | mysql-bin.000001 | 39425.在从MySQL服务器上设置主服务器的IP地址和端口号等信息。
mysql> CHANGE MASTER TO -> MASTER_HOST='mysql_master', -> MASTER_USER='repl', -> MASTER_PASSWORD='Qwer1234.', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=3942;6.启动从MySQL服务器,并检查它是否能够连接到主服务器。
START SLAVE; SHOW SLAVE STATUS\G;如果 Slave_IO_Running 和 Slave_SQL_Running 的值都是 YES,且 Exec_Master_Log_Pos 的值与 Master_Log_Pos 的值相同,则说明主从复制已经正常工作。
CREATE DATABASE test;然后在从库上执行以下命令,来查看该数据库是否同步到从库:
SHOW DATABASES;
发表评论