给了台机器,是新系统,通过堡垒机访问,不通互联网,环境的安装就变得相当麻烦,网上搜到的安装mysql教程基本都是8.0版本,5.7应该大差不差,不过也需要一定的摸索,先记录下来,方便以后再次安装时可以有资料可查
首先,需要安装tar命令包
进入官网rpm包仓库,
https://repo.openeuler.org/openEuler-22.03-LTS/everything/x86_64/Packages/
找到并下载tar的rpm包tar-1.34-1.oe2203.x86_64.rpm
上传到服务器上,使用
rpm -ivh tar-1.34-1.oe2203.x86_64.rpm
命令安装tar
然后,下载安装mysql(注意看后续)
进入mysql官网,MySQL :: Download MySQL Community Server (Archived Versions)
选择mysql版本,并下载,我这边选的是5.7版本中最新的5.7.44

下载集合包,然后上传到服务器上,解压
tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar
解压出来10个文件,其中我们只需要安装以下4个:
mysql-community-common-5.7.44-1.el7.x86_64.rpm
mysql-community-libs-5.7.44-1.el7.x86_64.rpm
mysql-community-client-5.7.44-1.el7.x86_64.rpm
mysql-community-server-5.7.44-1.el7.x86_64.rpm
使用rpm -ivh命令依次安装
rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm
当安装到mysql-community-client-5.7.44-1.el7.x86_64.rpm时,提示缺少libncurses.so.5和libtinfo.so.5两个库文件
通过find命令
find / -name libncurses*
find / -name libtinfo*
查到系统中存在更高版本的libncurses.so.6和libtinfo.so.6文件,于是使用
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
ldconfig
创建指向高版本库文件的软链接来尝试解决,重新安装发现不能解决
但是因为已经创建了软链接,应该不影响使用,所以使用强制安装
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm --nodeps --force
安装好之后,安装mysql-community-server-5.7.44-1.el7.x86_64.rpm时提示缺少net-tools
于是在仓库里找到并下载net-tools-2.10-1.oe2203.x86_64.rpm
上传到服务器上,安装
rpm -ivh net-tools-2.10-1.oe2203.x86_64.rpm
然后重新安装mysql-community-server-5.7.44-1.el7.x86_64.rpm
顺利安装成功
然后是配置my.cnf,我基本都没改,就配置了下字符集和端口,以及sql_mode去掉了ONLY_FULL_GROUP_BY
#服务端端口号,默认为 3306
port = 3306
# 默认字符集
character-set-server=utf8mb4
# 默认排序规则
collation-server=utf8mb4_general_ci
# sql_mode去掉ONLY_FULL_GROUP_BY
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
然后尝试启动mysql
systemctl start mysqld
成功启动,然后查找初始密码
grep 'password' /var/log/mysqld.log
找到root用户的初始密码,登录mysql
mysql -u root -p
# 输入初始化密码,进入mysql命令行
# 修改root密码
alter user 'root'@'localhost' identified with mysql_native_password by 'Szr@123456';
# 刷新权限
flush privileges;
修改登录ip限制,使远程用户可以登录
use mysql;
update user set host='%' where user='root';
flush privileges;
至此,大功告成
后续
我装好之后才发现其实上述仓库里是有mysql5.7的相关包可以下载的,虽说oe基本兼容el7,但直接使用oe包肯定更好,下次可以考虑装这4个,不过看到这几个包比官网下的小好多,又感觉有点虚,算了,下次再说吧

624

被折叠的 条评论
为什么被折叠?



