centos7上mysql5.7的rpm安装

本文介绍如何在CentOS系统中安装MySQL5.7并解决常见问题,包括卸载旧版本、安装依赖包、启动服务及设置初始密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先检查系统是否已有mysql:

rpm -qa|grep -i mysql

如果有则删除之:

rpm -ev package_name(package_name为要删除的包名)


另外由于现在centos默认使用mariadb,而mariadb和mysql的安装会存在一些冲突,所以同样要先检查mariadb是否存在,并卸载它


然后就是rpm包的下载和安装,下载mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar,然后安装:

[root@localhost ~]# tar -zxvf mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar
[root@localhost ~]#rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm
[root@localhost ~]#rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm
[root@localhost ~]#rpm -ivh mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
[root@localhost ~]#rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm
[root@localhost ~]#rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm
[root@localhost ~]#rpm -ivh mysql-community-devel-5.7.18-1.el6.x86_64.rpm

上面的包存在一定依赖关系,就按这里的顺序安装就好了


然后启动mysql

systemctl start mysqld.service

如果失败了,查看下日志,我遇到一个情况是数据目录,就是datadir里面有数据,估计是mariadb留下来的,导致数据库无法初始化。把datadir里面所有内容清空,然后再启动就可以了。datadir的位置可以查看mysql的配置文件,一般在/etc/my.cnf里面可以看到。


然后进行登录:

mysql -uroot

发现提示内容意味着密码错误。按理说以往默认密码都是空的,5.7不知道是不是改了还是怎么样。要先跳过密码验证,跳过前先关闭mysql:

systemctl stop mysqld.service

/usr/bin/mysqld_safe --skip-grant-tables &


然后就能进入mysql了,之后就是改密码,按照网上一般答案:

UPDATE user SET password=PASSWORD('123') WHERE user='root';

发现报错,说没有password这个字段。因为现在user表里面密码字段是authentication_string,因此命令要改成

UPDATE user SET authentication_string=PASSWORD('123') WHERE user='root';

FLUSH PRIVILEGES;


之后退出mysql,并kill掉原来的那个跳过验证的进程,然后重启mysql

再重试登录

mysql -u root -p

就可以了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值