基础环境:
	硬件:香橙派5 
	操作系统:openkylin
	cpu架构:arm
过程:
	最近有个任务,要在新的环境中验证一些服务是否可用。目的时向全国产化靠拢。
需要在香橙派上安装openkylin,一开始尝试的是香橙派3b,发现其不支持
openkylin。后经过查看,发现香橙派5 可以安装openkylin。
	但是因为系统是2023 年7 月份刚刚出的,所以在过程中碰到了非常多的问题。
	这里记录一下mysql方面的问题。
	这里先说解决方案。然后再挨个的展示碰到的问题。(在2023 年8 月31 之时有这个
问题,但是这个问题可能会随着系统更新被修复。)
	使用docker来安装mysql8. 0.29 (这个版本的mysql用了快两年半了,没有出现
过什么大问题)
	使用docker命令:docker pull mysql: 8.0 .29  -- platform= aarch64来指
定使用arm64平台的镜像。如果不加platform参数,一般默认是x86,不可以运行在
arm平台。
	拉取成功后,运行镜像:
	docker run - p 3306 : 3306  -- name mysql -- restart= always -- privileged= true  \
- v / opt/ work/ mysql/ mysqld. log: / var / log/ mysqld. log \
- v / opt/ work/ mysql/ data: / var / lib/ mysql \
- v / opt/ work/ mysql/ conf: / etc/ mysql \
- v / etc/ localtime: / etc/ localtime: ro \
- e MYSQL_ROOT_PASSWORD = 123456  - d mysql: 8.0 .29 
-- name 指定的是docker容器的名称;
-- restart 表示容器随着docker的启动而启动;
-- privileged 表示获取root权限;
- p 表示映射主机与容器内的端口;
- v 表示挂载宿主机与容器内的文件;
- d 表示使用那个镜像;
- e 表示指定环境变量。
1 :进入对应的容器
docker exec - it 【CONTAINER  ID 】 / bin/ bash
2 :进入mysql命令行
mysql - u root - p
3 :切换数据库:use mysql; 
4 :查看一些配置:select Host,  User,  plugin from user where 1 = 1 ; 
+ -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- + -- -- -- -- -- -- -- -- -- -- -- - + 
|  Host      |  User             |  plugin                | 
+ -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- + -- -- -- -- -- -- -- -- -- -- -- - + 
|  %          |  root             |  mysql_native_password | 
|  localhost |  mysql. infoschema |  caching_sha2_password | 
|  localhost |  mysql. session    |  caching_sha2_password | 
|  localhost |  mysql. sys        |  caching_sha2_password | 
|  localhost |  root             |  caching_sha2_password | 
+ -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- + -- -- -- -- -- -- -- -- -- -- -- - + 
5  rows in  set  ( 0.00  sec) 
	# 可以看到root分为本地登录和可以在任何地方登录。他们的默认的plugin都是
caching_sha2_password (root@% 的提前被我改过了),这是MySQL8. 0 之后默
认的认证方式。
	# 如果你用的还是老旧的MySQL客户端工具或命令工具可能会发生如下报错:
error 2059 :  Authentication plugin 'caching_sha2_password'  cannot be loaded:  / usr/ lib64/ mysql/ plugin/ caching_sha2_password. so:  cannot open shared object file:  No such file or directory
5 :可以用以下命令修改:
ALTER  USER  'user' @'host'  IDENTIFIED  WITH  mysql_native_password BY  'password' ; 
eg : 	ALTER  USER  'root' @'%'  IDENTIFIED  WITH  mysql_native_password BY  '123456' ; 
6 :使用命令:flush privileges;  刷新权限。
7 :退出mysql,即可正常连接。
 
显示为满足依赖的关系。
单独尝试安装libmecab2报如下错误。
这个错误描述并不准确,应当是这个软件包还没有被移植到openkylin这里。
甚至在“ubuntu update”里也只能找到x86的安装包,没有找到arm64的安装包。
 
直接使用命令:
	dokcer pull mysql: 8.0 .29 
以上命令拉拉取下来的镜像默认是x86架构的。会报如下错误:
WARNING :  The requested image's platform  ( linux/ arm64/ v8)  does not match the detected host platform  ( linux/ amd64)  and no specific platform was requested
 
所以要用参数“platform” 来指定系统指令架构集。
docker pull mysql: 8.0 .29  -- platform= aarch64
 
	这个报错是因为从MySQL8. 0 后,根据美国国家标准和技术协会给出的建议,将原来的SHA - 1 算法,改成了SHA2 / 3 系列的算法。但是一些老旧的图形化客户端只支持 “mysql_native_password ”。
	MySQL8. 0 后,默认的是:“caching_sha2_password”。
	所以需要运行上述命令修改对应用户的 “plugin” 字段。