赞
踩
首先docker技术的架构优势和用途在其他文章已经写的很完备了,我就不再赘述,本篇博客介绍docker的安装和mysql的入门安装。
环境:CentOS7
yum install docker
等待下载安装完毕后,启动docker
service docker start
//重新启动docker
service docker restart
由于docker仓库在国外,所以我们配置国内加速器
vi /etc/docker/daemon.json
//i进入编辑模式,添加如下json数据
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
//esc :wq退出并保存
重启docker
service docker restart
显示版本号等信息即为安装成功
docker version
先贴出mysql镜像文档地址:https://hub.docker.com/_/mysql/
sudo docker pull mysql
docker images
可以看见刚下载的mysql镜像
3. 启动MySQL
sudo docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
-name:新创建的容器名
-e:此处配置了root用户的登录密码
-p:将主机的3306端口映射到容器test-mysql的3306端口(前为主机,后为容器)
-d:创建成功后输出容器的id
末尾的mysql 为镜像的名称
4. 连接MySQL
终于到了激动人心的测试环节
输入好ip账号密码和端口点击连接
根据提示信息可以看到,无法加载caching_sha2_password加密插件,从MySQL8.0开始默认使用caching_sha2_password加密认证,所以我们需要更改默认的验证方式,那么有三种常见的方法:
显然这种方式不太优雅,不做介绍。
//在最后加上它
--default-authentication-plugin=mysql_native_password
//例:
sudo docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql --default-authentication-plugin=mysql_native_password
推荐使用第三种方式,更为灵活。
首先在主机上创建如下的文件夹结构
创建my.cnf配置文件
touch /docker/mysql/conf/my.cnf
在my.cnf中添加:
[mysqld]
user=mysql
character-set-server=utf8
//设置加密方式为mysql_native_password
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
执行命令
sudo docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d --privileged=true -v=/docker/mysql/conf/my.cnf:/etc/my.cnf -v=/docker/mysql/data:/var/lib/mysql mysql:5.6
–name:容器名
-e:配置参数,此处配置的是root账户的密码
-p:讲主机的3306端口映射到容器test-mysql的3306端口(前为主机,后为容器)
–privileged=true 使容器内的root账户真正拥有操作外部环境的root权限
-v=xxxxx:yyyyyy挂载本地路径或文件代替容器中的路径,xxxx为本机,yyy为容器中路径
执行完毕后我们再尝试连接
测试成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。