一.创建mysql容器。
sudo docker run -p 3306:3306 --name mysql -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
查看容器是否启动(docker ps -a):
代码模块的说明:
-p:端口映射,将其linux的3306端口与mysql容器内部的3306端口进行映射
-v:挂载文件,将容器内地址挂载到宿主机某个地址。(/宿主机绝对路径目录:/容器内目录 )
将其mysql容器内部的文件挂载到linux中,每次变动都会在linux显示,而不用进入到容器内部查看
-e:初始化123456用户密码
二.进入容器。
sudo docker exec -it mysql /bin/bash
三.登录容器内数据库,密码为:123456。
mysql -u root -p
到这里,MySQL安装成功。
这时使用Navicat连接,发现连接不上。
解决方法:
开启远程连接
默认mysql是不可以远程连接的,通过上面命令(sudo docker exec -it mysql /bin/bash)进入容器之后
登录mysql:mysql -u root -p; 密码为123456;
切换到mysql库:use mysql;
开启远程连接:alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘123456’;,(这个密码为123456,是之后远程连接mysql的密码)
刷新生效:FLUSH PRIVILEGES;
再次使用Navicat进行远程连接。