手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
MySQL,技术 , ,

Docker中安装MySQL

本文图文讲解在docker中安装mysql以及一些配置和相关的知识点。

官网就简单的一句话描述mysql(The world’s most popular open source database):

百度百科词条这样描述:

mysql是世界上最流行的开源数据库、是最好的关系型数据库管理系统之一,由瑞典MySQL AB 公司开发后来被oracle收购了,支持包括Unix、Linux、Mac和Windows在内超过20个平台和操作系统,有社区版(Community Edition)、商业客户版(Commercial customers)和嵌入式版(Embedded),8.0版本已经支持文档存储

还好社区版也支持文档存储:

搜索并拉取mysql镜像:

运行mysql镜像并进入容器中用root账号登录mysql并查看数据库信息:

看到以上信息证明安装成功了,然后用工具也是可以连上mysql的:

接着我们可以在工具上就行建库、表、用户以及授权:

上面可以看到这里的版本是8.0.19,需要注意的是MySQL8以上版本的默认加密方式是caching_sha2_password、默认字符集是utf8mb4、默认排序规则是utf8mb4_0900_ai_ci,这里解释说明一下:
utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等。从 5.5.3 开始,MySQL 开始用 utf8mb4 编码来实现完整的 UTF-8,其中 mb4 表示 most bytes 4,最多占用4个字节。对于 CHAR 类型数据,utf8mb4 会多消耗一些空间,根据 MySQL 官方建议,使用 VARCHAR 替代 CHAR。
排序字符集 collation
utf8mb4_0900_ai_ci是utf8mb4_unicode_ci中的一种。
uft8mb4 表示用 UTF-8 编码方案,每个字符最多占4个字节。
0900 指的是 Unicode 校对算法版本。(Unicode归类算法是用于比较符合Unicode标准要求的两个Unicode字符串的方法)。
ai指的是口音不敏感。也就是说,排序时e,è,é,ê和ë之间没有区别。
ci表示不区分大小写。也就是说,排序时p和P之间没有区别。
如果需要重音灵敏度和区分大小写,则可以使用utf8mb4_0900_as_cs代替。

按照上面操作我们发现并不像旧版本那样存在外网访问不了的问题,查看user表发现是已经放开了的,另外附上修改管理员密码方法,注意不要把加密方式设置成旧的mysql_native_password

若想在外网使用其他端口访问mysql的话,可以用nginx代理,只需要加入下面这段内容即可,注意我这里的nginx也是用docker镜像的已经编译–with-stream的了:

最后附上我服务器上搭的mysql数据库:https://mysql.xubingtao.cn


展开阅读全文


上一篇:

下一篇:

您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
关注我的公众号每天为您分享各类有用信息
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
分享录多端跨平台系统
分享录交流群