Docker安装MySQL及常见问题处理

首先得有Docker(这个不细说了)

然后下载MySQL的镜像docker pull mysql

最后就是启动了

错误启动方式:docker run --name mysql1 -d mysql
该方式会启动不了容器 因为没有指定密码

-e MYSQL_ROOT_PASSWORD=密码

例:docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
用-e指定参数
然而 这还是错误
在这里插入图片描述
然而 此时端口是连接不到的 因为还没配置端口映射

还需指定端口

因此 应该用:docker run --name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
用-p指定端口
在这里插入图片描述
然鹅 还可能会报错
该错误是因为默认下载的mysql版本过高(超过8.0了)
Mysql8.0默认采用caching_sha2_password加密方式
第三方客户端都不支持该机密方式
因此 要么去修改加密方式 要么下载低版本的mysql


高级操作

1、指定配置文件

docker run --name mysql03 -v /conf/mysql:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

注:-v指定配置文件路径
上述例子意为将主机的/conf/mysql文件夹挂载到 mysql的docker容器中的/etc/mysql/conf.d文件夹中
若要改mysql的配置文件 只需将mysql的配置文件放在自定义的文件夹下(/conf/mysql)即可

2、指定mysql的一些配置参数(例如编码格式)

--character-set-server 指定基字符集
--collation-server 修改数据库排序规则

docker run --name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql --character-set-server=utf8 --collation-server=utf8_general_ci

上述例子意为指定字符集为utf8 且指定排序规则为utf8_general_ci


发布了174 篇原创文章 · 获赞 5 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/Piconjo/article/details/105047909