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 dacker
步骤四:使用如下命令启动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]';