CentOS7下安装mysql5.7
前言
近期项目需要配合mysql一起记录相关数据,于是在服务器搭建了mysql,顺便记录一下搭建步骤和踩坑解决步骤
一、环境地址新建、清除旧安装包
- 进入到目录 /usr/local/ 中
cd /usr/local/
- 创建目录 /usr/local/tools,如果有则忽略
mkdir -p tools
- 创建 /usr/local/mysql 目录,如果已存在则忽略
mkdir -p mysql
- 进入到目录 /usr/local/tools 中
cd tools/
- 查看系统中是否已安装 MySQL 服务
rpm -qa | grep mysql
或
yum list installed | grep mysql
- 如果已安装则删除 MySQL 及其依赖的包
yum -y remove mysql-libs.x86_64
二、安装YUM
- 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源
下载命令:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
- 然后进行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/目录后再执行以下脚本
- 安装命令:
yum install mysql-server
- 启动msyql:
systemctl start mysqld #启动MySQL
- 获取安装时的临时密码(在第一次登录时就是用这个密码):
grep 'temporary password' /var/log/mysqld.log
- 登录mysql
mysql -u root -p
然后输入密码(刚刚获取的临时密码)
问题:登录报错ERROR 1045
倘若获取临时密码,登录报错ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
解决:修改my.cnf文件
- 首先,停止MySQL服务
service mysqld stop
- 既然是密码错误,那么就先跳过密码验证的步骤,打开my.cnf文件,更改不启动授权表
vim /etc/my.cnf
然后,搜索mysqld,找到[mysqld],在最后加上添加一行语句:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)。
注:windows下修改的是my.ini。
在 [mysqld] 底下添加语句:
skip-grant-tables
(注:skip-grant-tables:不启动grant-tables授权表,作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库)
这是用来跳过密码验证的,添加之后保存退出。
- 重新启动MySQL服务
systemctl start mysqld #启动MySQL
- 进入MySQL
出现密码输入时,不用输入直接按回车,就可以不用密码就能登录
mysql -u root -p
密码直接回车
- 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错误解决方法