A place to hold mainly reading notes, and some technical stuff occasionally. 这里主要是一些读书笔记、感悟;还有部分技术相关的内容。
目录[-]
这里实验用的华为云鲲鹏服务器配置如下:
Huawei Kunpeng 920 2.6GHz
4vCPUs | 8GB
openEuler 20.03 64bit with ARM
连接机器后,先查看系统相关信息,注意这里是 aarch64
的,后续软件包也需要是 aarch64
版本的。
# 查看系统内核信息
[root@ecs-kunpeng-0005 ~]# uname -a
Linux ecs-kunpeng-0005 4.19.90-2003.4.0.0036.oe1.aarch64 #1 SMP Mon Mar 23 19:06:43 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
# 查看系统版本信息
[root@ecs-kunpeng-0005 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="20.03 (LTS)"
ID="openEuler"
VERSION_ID="20.03"
PRETTY_NAME="openEuler 20.03 (LTS)"
ANSI_COLOR="0;31"
wget http://repo.mysql.com/yum/mysql-8.0-community/el/8/aarch64/mysql-community-common-8.0.19-1.el8.aarch64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/8/aarch64/mysql-community-libs-8.0.19-1.el8.aarch64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/8/aarch64/mysql-community-client-8.0.19-1.el8.aarch64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/8/aarch64/mysql-community-server-8.0.19-1.el8.aarch64.rpm
yum localinstall mysql-community-common-8.0.19-1.el8.aarch64.rpm
yum localinstall mysql-community-libs-8.0.19-1.el8.aarch64.rpm
yum localinstall mysql-community-client-8.0.19-1.el8.aarch64.rpm
yum localinstall mysql-community-server-8.0.19-1.el8.aarch64.rpm
# 查看MySQL状态
[root@ecs-kunpeng-0001 mysql8]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
[root@ecs-kunpeng-0001 mysql8]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
[root@ecs-kunpeng-0001 mysql8]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-05-29 17:49:49 CST; 8s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 1121485 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 1122635 (mysqld)
Status: "Server is operational"
Tasks: 39
Memory: 550.8M
CGroup: /system.slice/mysqld.service
└─1122635 /usr/sbin/mysqld
5月 29 17:49:42 ecs-kunpeng-0001 systemd[1]: Starting MySQL Server...
5月 29 17:49:49 ecs-kunpeng-0001 systemd[1]: Started MySQL Server.
# 获取初始化生成的数据库密码
[root@ecs-kunpeng-0001 mysql8]# cat /var/log/mysqld.log | grep password
2021-05-29T09:49:46.015915Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: iwjjwe,qd2.Y
i# 使用刚安装的mysql客户端,并用原始密码连接数据库,登录之后必须先修改密码。。
[root@ecs-kunpeng-0001 mysql8]# mysql -uroot -p
# 选择mysql数据库,修改默认密码(密码格式有要求,具备一定强度,包含大写字母,数字以及特殊字符等)
mysql> select User,authentication_string,Host from user;
ERROR 1046 (3D000): No database selected
mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER root@localhost IDENTIFIED BY 'Kunpeng0001.';
Query OK, 0 rows affected (0.00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
# 查看已有用户
mysql> select User,authentication_string,Host from user;
+------------------+------------------------------------------------------------------------+-----------+
| User | authentication_string | Host |
+------------------+------------------------------------------------------------------------+-----------+
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
{Sl3h/p7doZnmVf67O/qH3bYjNe2QqgxhAubVkHtOhc8 | localhost |
+------------------+------------------------------------------------------------------------+-----------+
4 rows in set (0.00 sec)
# 创建一个可供其他主机远程访问的用户名与密码
mysql> CREATE user root@'%' IDENTIFIED by 'Kunpeng0001.';
Query OK, 0 rows affected (0.01 sec)
# 授权
mysql> GRANT ALL ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0.01 sec)
# 刷新配置
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
# 再次查看已有用户,多了host为%的root用户
mysql> SELECT user, authentication_string, host from user;
+------------------+------------------------------------------------------------------------+-----------+
| user | authentication_string | host |
+------------------+------------------------------------------------------------------------+-----------+
| root | $A$005$mvUu,Q/I2 pL5Lx5k3MvTSYrsMRN0rBYIgcSHgPTvUHE12G1W6EJNYp0 | % |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
{Sl3h/p7doZnmVf67O/qH3bYjNe2QqgxhAubVkHtOhc8 | localhost |
+------------------+------------------------------------------------------------------------+-----------+
5 rows in set (0.01 sec)
# 退出
mysql> exit
Bye
其实一开始安装的是 el7
下的软件,然后在安装 mysql-community-libs-8.0.19-1.el7.aarch64.rpm
时报错了。
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/aarch64/mysql-community-common-8.0.19-1.el7.aarch64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/aarch64/mysql-community-libs-8.0.19-1.el7.aarch64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/aarch64/mysql-community-client-8.0.19-1.el7.aarch64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/aarch64/mysql-community-server-8.0.19-1.el7.aarch64.rpm
yum localinstall mysql-community-common-8.0.19-1.el7.aarch64.rpm
yum localinstall mysql-community-libs-8.0.19-1.el7.aarch64.rpm
Error:
Problem: conflicting requests
+ nothing provides libcrypto.so.10()(64bit) needed by mysql-community-libs-8.0.19-1.el7.aarch64
+ nothing provides libssl.so.10()(64bit) needed by mysql-community-libs-8.0.19-1.el7.aarch64
+ nothing provides libcrypto.so.10(libcrypto.so.10)(64bit) needed by mysql-community-libs-8.0.19-1.el7.aarch64
+ nothing provides libssl.so.10(libssl.so.10)(64bit) needed by mysql-community-libs-8.0.19-1.el7.aarch64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
试了网上一些方法,没效果,就想着换个 CentOS8
版本的 MySQL8
安装吧,然后就可以了。
上述的安装方式同样适用于在CentOS7上安装MySQL8,不过需要下载对应架构下的安装包,以X64为例。
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-common-8.0.19-1.el7.x86_64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-libs-8.0.19-1.el7.x86_64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-client-8.0.19-1.el7.x86_64.rpm
wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-server-8.0.19-1.el7.x86_64.rpm
yum localinstall mysql-community-common-8.0.19-1.el7.x86_64.rpm
yum localinstall mysql-community-libs-8.0.19-1.el7.x86_64.rpm
yum localinstall mysql-community-client-8.0.19-1.el7.x86_64.rpm
yum localinstall mysql-community-server-8.0.19-1.el7.x86_64.rpm
在执行 yum localinstall mysql-community-libs-8.0.19-1.el7.x86_64.rpm
时可能遇到的问题:
yum localinstall mysql-community-libs-8.0.19-1.el7.x86_64.rpm
已加载插件:fastestmirror
正在检查 mysql-community-libs-8.0.19-1.el7.x86_64.rpm: mysql-community-libs-8.0.19-1.el7.x86_64
mysql-community-libs-8.0.19-1.el7.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.65-1.el7 将被 取代
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-9.el7.x86_64 需要
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
--> 正在处理依赖关系 libmysqlclient.so.18(libmysqlclient_18)(64bit),它被软件包 2:postfix-2.10.1-9.el7.x86_64 需要
---> 软件包 mysql-community-libs.x86_64.0.8.0.19-1.el7 将被 舍弃
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.65-1.el7 将被 升级
---> 软件包 mariadb-libs.x86_64.1.5.5.68-1.el7 将被 更新
Removing mariadb-libs.x86_64 1:5.5.68-1.el7 - u due to obsoletes from mysql-community-libs.x86_64 0:8.0.19-1.el7 - u
--> 正在使用新的信息重新解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.68-1.el7 将被 更新
--> 正在处理依赖关系 libmysqlclient.so.18(libmysqlclient_18)(64bit),它被软件包 2:postfix-2.10.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-9.el7.x86_64 需要
--> 解决依赖关系完成
错误:软件包:2:postfix-2.10.1-9.el7.x86_64 (@anaconda)
需要:libmysqlclient.so.18()(64bit)
正在删除: 1:mariadb-libs-5.5.65-1.el7.x86_64 (@anaconda)
libmysqlclient.so.18()(64bit)
取代,由: mysql-community-libs-8.0.19-1.el7.x86_64 (/mysql-community-libs-8.0.19-1.el7.x86_64)
~libmysqlclient.so.21()(64bit)
更新,由: 1:mariadb-libs-5.5.68-1.el7.x86_64 (base)
libmysqlclient.so.18()(64bit)
错误:软件包:2:postfix-2.10.1-9.el7.x86_64 (@anaconda)
需要:libmysqlclient.so.18(libmysqlclient_18)(64bit)
正在删除: 1:mariadb-libs-5.5.65-1.el7.x86_64 (@anaconda)
libmysqlclient.so.18(libmysqlclient_18)(64bit)
取代,由: mysql-community-libs-8.0.19-1.el7.x86_64 (/mysql-community-libs-8.0.19-1.el7.x86_64)
未找到
更新,由: 1:mariadb-libs-5.5.68-1.el7.x86_64 (base)
libmysqlclient.so.18(libmysqlclient_18)(64bit)
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
解决方法:
# 检查系统自带的mariadb-libs包
[root@hadoop2 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
# 卸载掉系统自带的mariadb-libs包
[root@hadoop2 ~]# yum remove mariadb-libs
然后重新执行前面的安装命令即可。
If you have any questions or any bugs are found, please feel free to contact me.
Your comments and suggestions are welcome!