Deepin Linux~使用docker运行mysql

最近在使用deepin linux做开发时,需要安装mysql数据库,但几经尝试都没有获得成功,于是转念一想使用docker来运行mysql数据库,这样也能够保证系统的纯洁性。下面来具体描述一下如何使用docker运行mysql

1、下载mysql镜像

(1)、可以先使用docker search mysql命令查找mysql镜像,如下图所示:Deepin Linux~使用docker运行mysql_第1张图片

(2)、第一个为官方提供的,并且stars数最多的mysql镜像,使用docker pull mysql:latest命令进行镜像拉取;

2、运行mysql容器

docker run -d -p 3306:3306 --name=chbms-mysql -e MYSQL_ROOT_PASSWORD=root mysql:latest

容器正常运行后会显示容器ID,下面讲解一下各个参数的含义:

-d 最常见的一个选项,意为在后台运行容器。

-p 3306:3306 指定容器与宿主机的映射端口,前者为宿主机的端口,后者为docker容器要暴露的端口,这样就可以直接在宿主机上访问对应的mysql服务了

--name 用于指定容器名称,在启动、停止、重启、删除容器时都可以使用该参数值

-e MYSQL_ROOT_PASSWORD 指定容器中mysql服务root账户的密码,这里设置密码为root

mysql:latest 指定要使用的mysql镜像

3、测试连接mysql

首次连接会报错:Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/x86_64-linux-gnu/mariadb18/plugin/caching_sha2_password.so: 无法打开共享对象文件: 没有那个文件或目录

解决方法:进入到容器中docker exec -it chbms-mysql /bin/bash,执行mysql -h localhost -u root -p,输入密码回车,然后执行ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';重新设置密码为root即可。

Deepin Linux~使用docker运行mysql_第2张图片

使用MySql Workbench工具进行连接测试:

Deepin Linux~使用docker运行mysql_第3张图片连接成功!

建议将mysql数据文件挂载到宿主机中,以免容器出现异常无法启动时数据丢失。

你可能感兴趣的:(linux,docker,deepin,debian,mysql)