linux系统连网安装mysql8+忘记密码

一、linux环境部署mysql8

1. 创建文件夹放数据库的东西

cd usr/local/
mkdir esen

在这里插入图片描述

2. 上传安装jdk包

将jdk-8u311-linux-x64.tar.gz上传到/usr/local/esen目录下
// 进入到usr/local/esen目录下

cd /usr/local/esen 

// 变更权限

chmod a+x jdk-8u311-linux-x64.tar.gz

// 解压

tar –xzvf jdk-8u311-linux-x64.tar.gz

// 完成
在这里插入图片描述

3. 直接连网下载

3.1 整体流程

正常安装–配置/etc/my.cnf换datadir–配置/etc/selinux/config设置为disabled–执行setenforce 0 – 重新初始化 – 起服务

3.2 详细流程

  1. 下载并导入MySQL公钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

失败的话,直接浏览器访问https://repo.mysql.com 找到适合的rpm后运行

在这里插入图片描述

  1. 添加MySQL yum软件库:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

失败的话,直接浏览器访问https://dev.mysql.com/get 找到适合的rpm后运行

yum localinstall mysql80-community-release-el7-3.noarch.rpm
  1. 使用yum安装MySQL 8:
yum install mysql-server

在这里插入图片描述
在这里插入图片描述
这是安装完毕后的结果图

  1. 修改/etc/my.cnf
vi /etc/my.cnf

把datadir更改为自己的路径,并加上lower_case_table_names和max_allowed_packet的配置(公司产品需要)

在这里插入图片描述
5. 修改配置文件

vi /etc/selinux/config

改成disabled

在这里插入图片描述

  1. 运行命令、重新初始化、起服务、查看服务状态
setenforce 0
mysqld --user=mysql --lower_case_table_names=1 --initialize-insecure --datadir=/usr/local/esen/data
systemctl start mysqld
systemctl status mysqld

在这里插入图片描述
7. 用root账号进入mysql数据库
//第一次输入的就是初始密码

mysql -uroot 

在这里插入图片描述
//修改root密码并创建所需的数据库和数据库对应的管理员账号
在这里插入图片描述
// 创建一个有dba权限的账号并创建一个数据库

create user 'root'@'localhost' identified by 'Mdm@1234' ;
create user 'MDM'@'%' identified by 'Mdm@1234' ;
create database mdm;
grant all privileges on mdm.* to 'MDM'@'%';
flush privileges;
create user 'root'@'localhost' identified by 'Edg@1234' ;
create user 'EDG'@'%' identified by 'Edg@1234' ;
create database edg;
grant all privileges on edg.* to 'EDG'@'%';
flush privileges;
  1. 完成

二、忘记密码报错ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

1. 问题描述

在这里插入图片描述
错误1045(28000):拒绝用户“root”访问@本地主机(使用密码:是)
重点:access denied + using password:YES
判断问题是密码错误

2. 解决方法

设置为免密码登录数据库后,登录上去修改root密码,再退出设置回需要密码登录

  1. 输入vi 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
    在这里插入图片描述
    在这里插入图片描述
  2. 点击ESC 使用 :wq!保存并退出
  3. 重启mysql服务
systemctl restart mysqld

在这里插入图片描述
4. 免密码登录

mysql -uroot
  1. 更新权限
flush privileges
  1. 更新密码后退出
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY 'Admin!@#321'
exit;

在这里插入图片描述
7. 把 my.cnf中添加的skip-grant-table删除
在这里插入图片描述

  1. 重启MySQL输入刚设置的密码,完成登陆
systemctl restart mysqld
mysql -u root -p

在这里插入图片描述

  1. 完成
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值