一、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 详细流程
- 下载并导入MySQL公钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
失败的话,直接浏览器访问https://repo.mysql.com 找到适合的rpm后运行
- 添加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
- 使用yum安装MySQL 8:
yum install mysql-server
- 修改/etc/my.cnf
vi /etc/my.cnf
把datadir更改为自己的路径,并加上lower_case_table_names和max_allowed_packet的配置(公司产品需要)
5. 修改配置文件
vi /etc/selinux/config
改成disabled
- 运行命令、重新初始化、起服务、查看服务状态
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;
- 完成
二、忘记密码报错ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
1. 问题描述
错误1045(28000):拒绝用户“root”访问@本地主机(使用密码:是)
重点:access denied + using password:YES
判断问题是密码错误
2. 解决方法
设置为免密码登录数据库后,登录上去修改root密码,再退出设置回需要密码登录
- 输入vi 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
- 点击ESC 使用 :wq!保存并退出
- 重启mysql服务
systemctl restart mysqld
4. 免密码登录
mysql -uroot
- 更新权限
flush privileges
- 更新密码后退出
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY 'Admin!@#321'
exit;
7. 把 my.cnf中添加的skip-grant-table删除
- 重启MySQL输入刚设置的密码,完成登陆
systemctl restart mysqld
mysql -u root -p
- 完成