文章目录
- MySql 8.0.28 - linux版本安装
-
- 1. CentOS 7系统准备
- 2. 下载Linux版本Mysql安装包
- 3. 把下载好的安装包放在服务器上
- 4. 创建临时目录,解压压缩包
- 5. 进入解压文件夹,安装mysql
- 6. 启动mysql服务
- 7. 查询自动生成的root用户密码
- 8. 修改密码
- 9. 创建远程可以连接mysql的用户
- 10. 给新建的用户分配所有的权限
- 11. 在其他设备连接该数据库
MySql 8.0.28 - linux版本安装
1. CentOS 7系统准备
云服务器或者虚拟机都可以
Linux的版本为CentOS7;
2. 下载Linux版本Mysql安装包
下载地址:
https://downloads.mysql.com/archives/community/
3. 把下载好的安装包放在服务器上
把下载好的mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar
压缩包放到服务器上
4. 创建临时目录,解压压缩包
# 找到上传上去的压缩包,创建一个用于解压的临时文件夹
mkdir mysql
# 解压压缩包(-C mysql : 解压到mysql文件夹中)
tar -xvf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar -C mysql
5. 进入解压文件夹,安装mysql
# 进入解压文件夹
cd mysql
# 顺序执行以下安装命令,提示权限不够的话 使用 "sudo" 命令切换为root用户执行以下安装,
# 如果提示以下类似依赖检测错误,则在相关命令后面加上 "--nodeps --force"
# 错误:依赖检测失败:
# mariadb-libs 被 mysql-community-libs-8.0.29-1.el7.x86_64 取代
rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
# 如果以下命令执行错误,请使用 rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.29-1.el7.x86_64.rpm
# 如果以下命令有错误,可能需要先安装一个模块 yum install openssl-devel
rpm -ivh mysql-community-devel-8.0.29-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm
6. 启动mysql服务
# 启动MySql服务
systemctl start mysqld
# 重启MySql服务
systemctl restart mysqld
# 停止MySql服务
systemctl stop mysqld
7. 查询自动生成的root用户密码
因为linux版本的mysql安装过程中,并未让指定mysql的root用户密码,所以安装过程中回自动生成一个随机密码,可通过mysql的安装日志,查看该随机密码。
# 查看日志, 找到一行日志记录
# "2022-06-01T03:08:04.621063Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: RzJovd1wTK)&"
cat /var/log/mysqld.log
# 或者直接查找日志中相关行的记录信息
grep 'temporary password' /var/log/mysqld.log
找到密码后复制下来,打开mysql,
mysql -u root -p
把密码粘贴上去(ctrl + shift + c
),完成登录。
8. 修改密码
由于安装的时候,自动生成的密码,所以第一次登录数据库之后,会提示必须先修改密码。在mysql命令行下修改密码。完成初始密码的修改之后,即可开始对数据库进行其他操作。
# 新设置的密码策略不能太简单,有一定的长度,大小写和特殊字符限定。
ALTER USER 'root'@'localhost' IDENTIFIED BY '你想设置的密码';
若觉得密码太复杂不方便调试使用,可以修改密码的检测策略,使得可以设置简单密码,如:‘1234’
# 修改密码策略为0,简单策略
set global validate_password.policy=0;
# 修改密码检测最低长度为4, 本人测试的时候发现length设置成3的时候,修改为3位数密码,还是会提示错误,所以检测策略,密码长度最好设置4或比4大
set global validate_password.length=4;
设置完密码检测策略之后,重新修改密码。
# 本次密码修改可以设置为简单密码,如:1234
ALTER USER 'root'@'localhost' IDENTIFIED BY '你想设置的密码';
修改完密码之后,下次登录不上去,提示密码错误,可以尝试重启mysql服务。要么就是密码真错了。
systemctl restart mysqld
9. 创建远程可以连接mysql的用户
因为root用户默认的是 'root'@'localhost'
,所以只能在目前这台服务器上才能访问mysql服务,不能在其他设备通过date grip、或者相关数据源管理器连接。那么需要创建一个可以在任意设备上可连接的账户。
# mysql_native_password 使用本次密码加密策略
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
10. 给新建的用户分配所有的权限
grant all on *.* to 'root'@'%';
搞完之后,建议重启一下mysql服务,确保新改动生效。
11. 在其他设备连接该数据库
可以在其他设备连接该数据库了,建议首先检查其他设备能否ping通该服务器,能ping通的话,说明网络连接没问题,再连接数据库。当然不检查也不影响。
如果发现能ping通,但是连接不上mysql服务,有可能是mysql服务器的3306端口被防火墙保护了,可以关闭防火墙,也可以设置开放3306端口(mysql默认服务端口)。
# 开放3306端口 --permanent 永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
firewall-cmd --reload