centos7.x 实操使用yum安装 mysql 服务器 5.6|5.7 版本,详细步骤,附安装配置常见错误以及解决方案

本文提供CentOS7环境下使用yum安装MySQL5.7版本的详细步骤及常见错误解决方案,涵盖卸载旧版MySQL、配置账号密码、设置远程连接等内容。

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

centos7.x 实操使用yum安装 mysql 服务器 5.6|5.7 版本,详细步骤,附常见安装配置错误以及解决方案。 基本上安装最常见的问题都解决了。

本文使用yum在线安装配置mysql5.7版本,离线安装什么时候有需求了再写文档。照顾小白,所以写的啰嗦一点(本帖安装的mysql5.7版本)。

1、先检查系统是否装有mysql(有的话注意要先卸载)

# rpm -qa |grep -i mysql

结果如图:(系统已经安装过一个mysql)如果版本不是你需要安装的,需要卸载。如果未安装,则什么都不显示。

卸载命令:

# yum remove mysql-communtity-*(依次全部卸载)

2.查看mysql的repo源,选则版本并下载。可以使用wget 或 离线下载后再上传到服务器

网页地址:  http://repo.mysql.com/

2.1 选择你需要安装的版本等,复制链接(示例安装mysql5.7)

2.2 使用wget下载rpm包(注意版本需要根据自己的选择而定)

# wget http://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm

2.3 安装下载的rpm包

# sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm

2.4 查看yum源是否存在刚刚下载的mysql repo

3.安装mysql服务

# sudo yum install mysql-server

安装成功后使用命令查看:

# rpm -qa |grep -i mysql

以上步骤如有报错,请参考本文最后的报错示例(可能有解决方案咯)

4.配置并使用mysql

4.1 配置数据库账号密码

# mysql -u root

错误 4.1.1 :

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决 4.1.1 :

原因:/var/lib/mysql的访问权限问题,将/var/lib/mysql的拥有者改为当前用户(tip:将命令中的root替换成相应的用户)

# chown -R root /var/lib/mysql/
# chown -R root /var/lib/mysql-files

修改后重启mysql服务:

# service mysqld restart

错误:4.1.2此时登陆会出现另外一个问题(mysql5.6 未出现,mysql5.7出现了此问题):

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决 4.1.2 :

方案1:使用命令获取随机密码
 # grep "password" /var/log/mysqld.log
方案2:
1.执行 # vim /etc/my.cnf ,打开文件后,找到[mysqld]关键字,在[mysqld]下面一行添加skip-grant-tables 保存并退出
(centos版本不同路径可能是 /etc/mysql/my.cnf ,自行查找)

2.执行 # service mysqld restart,重启之后执行 # mysql -u root -p 再尝试登陆mysql,遇到需要输入密码,直接回车

到此能正常进入mysql命令行的话继续... ...

tip:
数据库后续配置远程登陆等操作完成后记得以下操作:

1.执行 # vim /etc/my.cnf,打开文件后, 把刚才添加的 skip-grant-tables 删掉,保存退出

2.执行 # service mysql restart。

错误:4.1.3

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决:

1.修改用户名密码
mysql>alter user 'root'@'localhost' identified by '123456';  

2、刷新权限
mysql>flush privileges;

如果报错
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
说明你的密码强度太低,可以通过执行以下语句来解决
mysql>set global validate_password_policy=0;

 

设置数据库账号密码完成(mysql 5.6和5.7版本的user表字段不同,所以设置密码的sql语句有一些差异,自行测试

mysql>use mysql; #使用mysql库
mysql>update user set password=password('123456') where user='root'; #mysql 5.6
mysql>update user set authentication_string=password('123456') where user='root'; #mysql 5.7
mysql>flush privileges; #写入权限

4.2 配置远程连接

tip:如再次在此步骤前发生了4.1.2的错误,则需要先将skip-grant-tables 删掉并重启服务后方可继续... ...

配置远程连接的作用简单一句话解释: 如果你要在别的机器连接这个数据库,就需要打开远程连接权限

场景1:你想root使用12345678从别的任何主机连接到mysql服务器,(给其它用户授权请灵活变通!!!)
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

场景2:如果你想允许某用户anyone(是否root用户皆可)从ip为192.168.0.123的主机连接到mysql服务器,并使用1234567890作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'anyone'@’192.168.0.123’ IDENTIFIED BY '1234567890' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

4.3 使用navicat等客户端工具测试mysql是否可以正常连接。 工具使用方法(略) ... ...

可能问题:navicat无法连接mysql服务器,防火墙问题解决方案

检查服务器防火墙是否开放3306端口
Centos7 firewalld 防火墙运行命令,并重启:
#firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload

Centos6.5之前   iptables 防火墙运行命令
#vim /etc/sysconfig/iptables

在文件内添加下面命令行,然后重启
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
# service iptables restart

5.设置mysql服务开机自启

编辑系统文件:

# vim /etc/rc.local 

添加service mysqld start

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值