首先到你需要的安装目录创建一个文件夹
mkdir mysql
先随便安装一个
docker run --net=host --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
把需要用到的目录复制到宿主机以便后面挂载
docker cp mysql:/etc/mysql/conf.d ./conf
docker cp mysql:/var/log ./logs
docker cp mysql:/var/lib/mysql ./data
删掉原来的mysql
docker rm -f mysql
安装mysql并挂载
docker run --net=host --name mysql \
-v $PWD/conf/:/etc/mysql/conf.d \
-v $PWD/logs:/var/log \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--restart always -d mysql
安装完成后进入容器
docker exec -it mysql bash
登录mysql
mysql -uroot -p
登录后添加远程登录用户
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
GRANT ALL ON *.* TO 'root'@'%';
GRANT ALL ON 库.表 TO '用户名'@'主机';
FLUSH PRIVILEGES;
如果报错说已有用户则
drop user 'root'@'%';
创建slave用户,专门用于主从复制
create user 'slave'@'192.168.0.*' identified by 'password';
grant replication slave,replication client on *.* to 'slave'@'192.168.0.*';
再重复上述操作
Comments NOTHING