配置mysql主从
创建主机
如果运行后出现跑不起来
使用docker logs 容器id查看错误原因
如果是这个就是说没找到 /etc/mysql/conf.d 这个文件夹。
只需要运行一个实例复制到对应文件就行
编写配置文件,配置主机
docker run -p 3307:3306 --privileged=true --name mysql-master \
-v /mydata/mysql-master/log:/var/log/mysql \
-v /mydata/mysql-master/data:/var/lib/mysql \
-v /mydata/mysql-master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
2023-07-08 08:39:50+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to
check config
command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.ETfahgGYnD
mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or
directory)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
docker run -p 3306:3306 --name temporarily-mysql -e MYSQL_ROOT_PASSWORD=123456 -
d mysql:5.7
docker cp temporarily-mysql:/etc/mysql/. /mydata/mysql-master/conf
docker rm -f temporarily-mysql
然后删除上面的实例后运行
docker rm mysql-master
然后重新运行
docker run -p 3307:3306 --privileged=true --name mysql-master \
-v /mydata/mysql-master/log:/var/log/mysql \
-v /mydata/mysql-master/data:/var/lib/mysql \
-v /mydata/mysql-master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
cd /mydata/mysql-master/conf
touch my.cnf
vim my.cnf
复制进去后重启实例