以前使用Linux系统基本都是安装宝塔面板的,不用考虑软件安装问题,之前也更新过一个Ubuntu安装MySQL的blog,今天在CentOS下安装MySQL又出现了好多问题,最终找到了解决方法,特此记录
遇到的问题:
-
下载元数据失败
这是因为CentOS Linux 8在2022年12月31日来到生命周期终点(End of Life,EoL)。即CentOS Linux 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。所以原来的CentOS Linux 8的yum源也都失效 ,最终导致此问题的产生。
有的办法让wget下载源文件,有时候有的系统没有wget呢,所以大家有条件的直接下,没条件的用浏览器下载
有wget的前面加上命令就行
目录 /etc/yum.repos.d/
-
首先删除原来的源
rm -rf ./*.repo
-
然后下载下面的文件,并更名为CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
有wget的执行这个
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
-
再执行命令
yum makecache
-
最后再 yum install 就可以了
然后安装mysql,都是正常的,但是到了装mysql-community-service的时候又提示缺少libncurses依赖
按照之前的做法,直接 yum install libncurses*
但是执行的时候又提示数据源下载失败
最后找到解决方法
依次执行下面两行代码
sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
然后完成安装
输入以下命令查看状态
systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动MySQL服务
systemctl stop mysqld 停止MySQL服务
systemctl enable mysqld 开机自启MySQL服务
然后启动MySQL服务,之后再查看状态是这样的
然后我们查看日志,看一下MySQL为我们自动生成的临时密码
cat /var/log/mysqld.log | grep password
就在我准备登录MySQL的时候,又出现了问题
mysql -uroot -p
mysql在启动时发现缺少 libncurses.so.5 这个依赖,并且在/usr/lib以及/lib中也无法找到该依赖
然后我在/usr/lib、/lib、/usr/lib64中寻找一个大于或者等于该依赖版本的依赖文件,找到了一个libncurses.so.6.1然后给它建立一个软链接(相当于快捷方式)
sudo ln -s 文件路径 快捷方式路径
sudo ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
这样就在/usr/lib64下建立了一个libncurses.so.5的快捷方式。mysql在启动时就会寻找该libncurses.so.5依赖的快捷方式,最后实际链接到了libncurses.so.6.1依赖。
然后就可以成功登录到本地的mysql了
以上内容部分来源于网络,如有侵权请联系我删除