CentOS7下安装mysql5.7(亲测完成)

9 篇文章 0 订阅
8 篇文章 0 订阅

前言

近期项目需要配合mysql一起记录相关数据,于是在服务器搭建了mysql,顺便记录一下搭建步骤和踩坑解决步骤

一、环境地址新建、清除旧安装包

  1. 进入到目录 /usr/local/ 中
cd /usr/local/
  1. 创建目录 /usr/local/tools,如果有则忽略
mkdir -p tools
  1. 创建 /usr/local/mysql 目录,如果已存在则忽略
mkdir -p mysql
  1. 进入到目录 /usr/local/tools 中
cd tools/
  1. 查看系统中是否已安装 MySQL 服务
rpm -qa | grep mysql
或
yum list installed | grep mysql
  1. 如果已安装则删除 MySQL 及其依赖的包
yum -y remove mysql-libs.x86_64

在这里插入图片描述

二、安装YUM

  1. 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源
    下载命令:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
  1. 然后进行repo的安装:
rpm -ivh mysql57-community-release-el7-8.noarch.rpm

在这里插入图片描述
执行完成后会在/etc/yum.repos.d/目录下生成两个repo包:
mysql-community.repo
mysql-community-source.repo
在这里插入图片描述

三、使用yum命令即可完成安装

注意:必须进入到 /etc/yum.repos.d/目录后再执行以下脚本

  1. 安装命令:
yum install mysql-server

问题一:如果遇到安装不成功,提示:The GPG keys listed for the “MySQL 5.7 Community Server” repository are already installed but they are not correct for this package.

Check that the correct key URLs are configured for this repository.
在这里插入图片描述

解决:yum添加–nogpgcheck

原因

软件开发商在释出 RPM 文件时,会在其中添加数字签名,并释出用于验证数字签名的公钥。使用 rpm 安装软件时,rpm 会首先根据系统中已有的公钥去验证 RPM 文件的数字签名。gpg keys 就是公钥。

办法

yum安装的时候就会校验软件包是否是官方发布的。当然可以给yum添加–nogpgcheck来强制安装,如下命令即可

yum install mysql-server --nogpgcheck

所以在安装的时候会比对已有的公钥,发现不正确,报错了
2. 启动msyql:

systemctl start mysqld #启动MySQL
  1. 获取安装时的临时密码(在第一次登录时就是用这个密码):
grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

  1. 登录mysql
mysql -u root -p

然后输入密码(刚刚获取的临时密码)

问题二:登录报错ERROR 1045

倘若获取临时密码,登录报错ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
在这里插入图片描述

解决:修改my.cnf文件

  1. 首先,停止MySQL服务
service mysqld stop
  1. 既然是密码错误,那么就先跳过密码验证的步骤,打开my.cnf文件,更改不启动授权表
vim /etc/my.cnf

在这里插入图片描述

然后,搜索mysqld,找到[mysqld],在最后加上添加一行语句:

/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)。

注:windows下修改的是my.ini。

在 [mysqld] 底下添加语句:

skip-grant-tables

(注:skip-grant-tables:不启动grant-tables授权表,作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库)

这是用来跳过密码验证的,添加之后保存退出。
在这里插入图片描述

问题三:登录报错ERROR 1820 You must reset your password using ALTER USER statement before executing this statement.

输入上面得到的密码进入,用该密码登录后,必须马上修改新的密码,不然会报如上述错误:
在这里插入图片描述

解决:重新设置密码

如果你想要设置一个简单的测试密码的话,比如设置为123456,会提示这个错误,报错的意思就是你的密码不符合要求:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
在这里插入图片描述
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:

  1. 首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
  1. validate_password_length(密码长度)参数默认为8,我们修改为1
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
  1. 完成之后再次执行修改密码语句即可成功
mysql> alter user 'root'@'localhost' identified by '654321';
Query OK, 0 rows affected (0.00 sec)

在这里插入图片描述

  1. 重新启动MySQL服务
systemctl start mysqld #启动MySQL
  1. 进入MySQL
    出现密码输入时,不用输入直接按回车,就可以不用密码就能登录
mysql -u root -p
密码直接回车

在这里插入图片描述

  1. mysql连接成功,修改密码
  • 5.1、看当前所有数据库:show databases;

  • 5.2、进入mysql数据库:use mysql;

  • 5.3、查看mysql数据库中所有的表:show tables;
    在这里插入图片描述

  • 5.4、查看user表下的角色和密码,
    注意:5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

 select Host,User,authentication_string from user;

说明: % 代表任意的客户端,可替换成具体IP地址。
在这里插入图片描述

  • 5.5、修改密码
update user set authentication_string=password(“新密码”) where user=”用户名”;

在这里插入图片描述
密码修改完毕

四、navicat测试连接成功

  • 打开navicat配置服务器的主机、端口、用户名、密码(刚刚修改过的)测试链接成功
    在这里插入图片描述

五、参考文章

CentOS7下安装mysql5.7
在 CentOS7 上安装 MySQL5.7
MySQL1045错误解决方法

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 1. 下载MySQL 5.7安装包 在MySQL官网下载MySQL 5.7安装包,选择适合CentOS 7的版本。 2. 安装MySQL 5.7 使用以下命令安装MySQL 5.7: ``` sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm sudo yum install mysql-community-server ``` 3. 启动MySQL服务 使用以下命令启动MySQL服务: ``` sudo systemctl start mysqld ``` 4. 设置MySQL开机自启动 使用以下命令设置MySQL开机自启动: ``` sudo systemctl enable mysqld ``` 5. 修改MySQL密码 使用以下命令修改MySQL密码: ``` sudo mysql_secure_installation ``` 6. 登录MySQL 使用以下命令登录MySQL: ``` mysql -u root -p ``` 7. 安装完成 安装完成后,您可以使用MySQL 5.7进行数据库管理。 ### 回答2: 在CentOS 7上安装MySQL 5.7并不困难,只需要遵循一些简单的步骤。 1. 安装epel-release和remi仓库: ```bash sudo yum -y install epel-release yum-utils sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ``` 2. 安装MySQL 5.7: ```bash sudo yum-config-manager --enable remi-php72 sudo yum --enablerepo=remi,remi-test install mysql-server ``` 3. 启动MySQL服务: ```bash sudo systemctl start mysqld ``` 4. 进行初始设置: ```bash sudo mysql_secure_installation ``` 5. 登录MySQL: ```bash mysql -u root -p ``` 6. 创建新用户并授权: ```sql CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 7. 退出MySQL: ```sql exit; ``` 现在,您已完成MySQL 5.7安装和设置,可以开始使用了。 ### 回答3: CentOS 7是一款通用的Linux操作系统,对于开发者和服务器管理员来说是一个非常好的选择。MySQL是一个重要的关系型数据库管理系统,用于存储和管理数据。在CentOS 7上安装MySQL5.7,需要按照以下步骤进行操作: 步骤一:安装mysql的yum库 在命令行中使用以下命令安装mysql yum库: ``` sudo yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm ``` 步骤二:安装MySQL5.7安装MySQL之前,请先更新yum包仓库,以确保所有软件包都是最新的。使用以下命令进行更新: ``` sudo yum update ``` 然后,以root用户身份执行以下命令来安装MySQL5.7: ``` sudo yum install mysql-community-server ``` 执行完以上命令后,MySQL5.7将会被成功安装在您的CentOS 7系统中。 步骤三:启动MySQL安装MySQL后,需要使用下面的命令来启动MySQL服务: ``` sudo systemctl start mysqld ``` 如果需要设置MySQL开机启动,可以使用以下命令: ``` sudo systemctl enable mysqld ``` 步骤四:配置MySQL 默认情况下,MySQL安装后的root用户没有密码,您需要使用以下命令来设置root用户的密码: ``` sudo mysql_secure_installation ``` 首先,系统会提示您输入当前密码,因为该用户没有密码,可直接回车即可。随后按照提示输入密码即可。完成MySQL安装后,建议您备份一下安全文件,以防万一。 步骤五:使用MySQL 最后,您可以使用MySQL客户端工具连接到MySQL数据库。如果您的MySQL服务器没有安装在本地,则需要使用-ip选项指定服务器的IP地址。以下是示例命令: ``` mysql -u root -p -h 127.0.0.1 ``` 使用这个命令,即可连接到本地MySQL服务器,开始使用MySQL来管理您的数据。 CentOS 7下安装MySQL5.7方法就介绍到这里,如果在安装和使用过程中有疑问,可以查找更多相关资料进行学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值