Docker安装mysql

基于云服务器,端口需要设置安全组 。

1、安装mysql

1)、拉取mysql镜像

docker pull mysql

2)、启动mysql并做端口映射,设置登录密码

这里的mysql01是容器的名字

docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

3)、在启动服务可能会报错,如下。

Job for docker.service failed because the control process exited with error

因为使用命令: yum install docker下载时, 默认下载的是Docker的最新版本, 但是内核版本低的话可能不兼容新版本Docker, 所以有可能出现如上错误。

解决方案:
步骤一:将以前下载好的Docker卸载干净, 使用如下命令:

yum remove docker-*

步骤二:更新该Liunx系统的内核版本,使用如下命令:

yum update

步骤三:继续下载安装docker(尽量使用高级管理员权限下载)使用如下命令

可能无法执行,因为更新系统后yum相关插件没有安装,按照提示安装即可。

yum install docker

步骤四:使用如下命令启动docker

步骤四:使用如下命令启动docker

systemctl start docker

2、docker下操作mysql

1)、进入容器bash,

docker exec -it mysql01 bash

2)、本地登录完整命令

在docker容器中以这个命令进入mysql,平常命令可能会报如下1045错误。

mysql -uroot -p[password] -h127.0.0.1 -P 3306 

ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: YES)

3、客户端连接Mysql

1)、使用客户端工具连接mysql

可能会报错1251.

MYSQL 8.0内新增加mysql_native_password函数,通过更改这个函数密码来进行远程连接。更改ROOT用户的native_password密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'[password]';
原文地址:https://www.cnblogs.com/cgl-dong/p/14041833.html