在本地虚拟机中,通过docker创建启动mysql8的容器,通过主机直接访问。
- docker创建启动mysql8的容器。
拉取MySQL8的镜像,指定版本,不指定版本默认拉取最新的版本。
docker pull mysql:8.0.16
在宿主机上创建mysql的配置文件和数据存储目录
mkdir -p /usr/mysql/conf /usr/mysql/data
chmod -R 755 /usr/mysql/
vim conf/my.cnf
输入以下配置,主要设定字符集和数据目录,lower_case_table_names = 1 表示不区分大小写(mysql8建议设置)
[client]
default-character-set = utf8mb4
[mysqld]
datadir = /usr/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
symbolic-links=0
lower_case_table_names = 1
!includedir /etc/mysql/conf.d/
创建容器并启动,映射3306端口
docker run --restart=unless-stopped -d --name mysql8.0.16 -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16
输入 docker ps 查看正在运行的容器
- 配置本地主机名映射(可选)
因为我们是部署在虚拟机上的,为了避免虚拟机IP变动而导致频繁修改各个链接的问题,建议直接编辑host指定IP映射主机名称。
host文件在 C:\Windows\System32\drivers\etc 目录下,注意要管理员权限修改。
192.168.226.130 是虚拟机的IP,localVM 自己的指定的主机名称。
- 通过DB管理软件连接mysql
打开DB管理软件,我这里用的是DataGrip。连接地址直接写在host文件配置好的主机名,也可以直接写ip。用户名密码是root/123456
如图,连接虚拟机中的mysql成功。