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

CentOS7下安装mysql5.7

前言

近期项目需要配合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

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

二、安装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

CentOS7下安装mysql5.7(亲测完成)
执行完成后会在/etc/yum.repos.d/目录下生成两个repo包:
mysql-community.repo
mysql-community-source.repo
CentOS7下安装mysql5.7(亲测完成)

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

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

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

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

  1. 登录mysql
mysql -u root -p

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

问题:登录报错ERROR 1045

倘若获取临时密码,登录报错ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
CentOS7下安装mysql5.7(亲测完成)

解决:修改my.cnf文件

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

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

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

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

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

在 [mysqld] 底下添加语句:

skip-grant-tables

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

这是用来跳过密码验证的,添加之后保存退出。
CentOS7下安装mysql5.7(亲测完成)

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

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

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

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

  • 5.3、查看mysql数据库中所有的表:show tables;
    CentOS7下安装mysql5.7(亲测完成)

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

 select Host,User,authentication_string from user;

说明: % 代表任意的客户端,可替换成具体IP地址。
CentOS7下安装mysql5.7(亲测完成)

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

CentOS7下安装mysql5.7(亲测完成)
密码修改完毕

四、navicat测试连接成功

  • 打开navicat配置服务器的主机、端口、用户名、密码(刚刚修改过的)测试链接成功
    CentOS7下安装mysql5.7(亲测完成)

五、参考文章

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

上一篇:mysql密码基本设置与mysqld程序结构


下一篇:CentOS 7安装MySQL8.0