docker pull mysql
firewall-cmd --zone=public --add-port=3306/tcp --permanent
https://www.cnblogs.com/wlzx-dic/p/17059856.html
https://blog.csdn.net/qq_45602658/article/details/129299814
创建mysql容器。 如果容器间通信则先创建容器间网络
docker network create mywork
然后docker pull mysql
可容器之间访问
再运行如下脚本
docker run -p 3306:3306 --restart=always --network mywork --name mysql -v /public/soft/mysql/conf:/etc/mysql/conf.d -v /public/soft/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1qaz2wsx. -d mysql
容器之间不可访问
docker run -p 3306:3306 --restart=always --name mysql -v /public/soft/mysql/conf:/etc/mysql/conf.d -v /public/soft/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1qaz2wsx. -d mysql --lower_case_table_names=1 --skip-name-resolve --innodb-force-recovery=1
以下是主备模式==
-----主服务器(100)-------
第一步:主服务器操作 101 为从服务器ip
CREATE USER ‘master’@‘192.168.1.101’ IDENTIFIED WITH mysql_native_password BY ‘1qaz2wsx.’;
GRANT REPLICATION SLAVE ON . TO ‘master’@‘192.168.1.101’;
show master status;
-----从服务器(101)-------
第一步:主服务器操作 100 为主服务器ip
这个是主服务器的 show master status;如下 file 和 position需要对应填写
CHANGE MASTER TO MASTER_HOST=‘192.168.1.100’, – 主服务器IP
MASTER_USER=‘master’, – 主服务器用户
MASTER_PASSWORD=‘1qaz2wsx.’, – 主服务器用户密码
MASTER_LOG_FILE=‘mysql-bin.000001’, – 主服务器
MASTER_PORT=3306, – 端口号默认3306
MASTER_LOG_POS=1034; – 位置
show slave status;
start slave;
有一个警告 意思是server_id都是一样所以需要把101这个从服务器的server_id改下
set global server_id=2; #此处的数值和my.cnf里设置的一样就行, 然后执行:
show slave status;
显示yes表示成功。 有时候io不是yes 这个暂时先不用管他。
=从服务器开始操作=======
然后 从服务器 (101) 开始操作
CREATE USER ‘master’@‘192.168.1.100’ IDENTIFIED WITH mysql_native_password BY ‘1qaz2wsx.’;
GRANT REPLICATION SLAVE ON . TO ‘master’@‘192.168.1.100’;
flush privileges;
show master status;
show slave status;
=主服务器开始操作=======
flush privileges;
show master status;
CHANGE MASTER TO MASTER_HOST=‘192.168.1.101’, – 主服务器IP
MASTER_USER=‘master’, – 主服务器用户
MASTER_PASSWORD=‘1qaz2wsx.’, – 主服务器用户密码
MASTER_LOG_FILE=‘binlog.000004’, – 主服务器
MASTER_PORT=3306, – 端口号默认3306
MASTER_LOG_POS=1056; – 位置
show slave status;
start slave;
如上都成功了之后就互为主从了**************
可以用软件连上两个数据库 然后都操作一下即可同步数据了。