1、拉取镜像
docker pull mysql:5.7
2、运行容器
docker run -p 3306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qazWSX123 -d mysql:5.7
-v $PWD/conf:/etc/mysql指令是挂载mysql的配置文件到宿主机
-v $PWD/data:/var/lib/mysql指令是挂载mysql的数据到宿主机
-e MYSQL_ROOT_PASSWORD=qazWSX123指令是配置mysql登录密码
如果容器启动失败,执行查询容器启动日志命令
docker logs --tail -n 容器名称
如果出现报错信息:Can’t read dir of '/etc/mysql/conf.d/
则删掉容器,重新执行run命令,不挂载配置文件,只挂载数据
docker run -p 3306:3306 --name my-mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qazWSX123 -d mysql:5.7
3、进入容器
docker exec -it my-mysql bash
能进去说明容器启动成功
4、配置mysql
登录mysql
mysql -uroot -p --default-character-set=utf8
show databses;
设置能远程登录mysql
use mysql;
设置root用户在任何地方进行远程登录,并具有所有库任何操作权限
grant all privileges on *.* to 'root'@'%';
修改用户的密码和加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
刷新
FLUSH PRIVILEGES;
5、mysql客户端连接
如果用的是云服务器的话,需要在安全组中开放3306端口的访问权限
连接成功!!!