一、准备一台Linux服务器
云服务器或者虚拟机都可以;
Linux的版本为 CentOS7;
二、下载Linux版MySQL安装包
https://downloads.mysql.com/archives/community/
三、上传MySQL安装包
四、创建目录,并解压
mkdir mysql
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql
可以发现解压出来的都是这种rpm安装包,rpm安装包是有先后顺序的
五、安装mysql的安装包
cd mysql
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
yum install openssl-devel
rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
六、启动MySQL服务
在Linux系统中,MySQL安装好了后会自动注册系统服务,服务名称叫mysqld
systemctl start mysqld
systemctl restart mysqld
systemctl stop mysqld
七、查询自动生成的root用户密码
我们基于RPM这种方式安装没有指定root密码,此时RPM在安装的过程中会自动生成一个随机的密码,这个随机的密码会保存在日志文件中
grep 'temporary password' /var/log/mysqld.log
命令行执行指令 :
mysql -u root -p
然后输入上述查询到的自动生成的密码, 完成登录 .
八、修改root用户密码
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。
![image-20240718075226163](https://img-blog.csdnimg.cn/img_convert/7246ea1140ca26739e50151c3451d3c3.png)
在Linux版本的MySQL安装完成后它会自动安装一个密码校验的插件,而密码校验的默认规则为:密码长度必须达到8位,而且还会区分数字、字母、符号。
我们可以打开官方文档看一下密码校验复杂度的规则,直接搜索:validate_password
可以看见,密码校验等级是中等
![image-20240718080457583](https://img-blog.csdnimg.cn/img_convert/6b4f2993ac92dd6b4b647cdb8418acdf.png)
再往下翻就可以看见每个policy所对应的规则
![image-20240718080711165](https://img-blog.csdnimg.cn/img_convert/fe0fb9f6895415e358cb9b5521cd1575.png)
因此为了操作方便,我们可以设置密码的复杂度为简单类型,密码长度为4。
set global validate_password.policy = 0;
set global validate_password.length = 4;
降低密码的校验规则之后,再次执行上述修改密码的指令。
七、创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的(即使用DataGrip进行远程访问),我们还需要创建一个root账户,用户远程访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
八、并给root用户分配权限
grant all on *.* to 'root'@'%';
九、通过DataGrip远程连接MySQL
点击test连接的时候,有可能连不通,此时就需要去检查Linux系统的防火墙
然后设置查看所有的数据库
![image-20240718081855625](https://img-blog.csdnimg.cn/img_convert/3460495a593930953caa64c73deb4580.png)
十、卸载
停止MySQL服务
systemctl stop mysqld
查询MySQL的安装文件
rpm -qa | grep -i mysql
卸载上述查询出来的所有的MySQL安装包
rpm -e mysql-community-client-plugins-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-server-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-common-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-client-8.0.26-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-compat-8.0.26-1.el7.x86_64 --nodeps
删除MySQL的数据存放目录
rm -rf /var/lib/mysql/
删除MySQL的配置文件备份
rm -rf /etc/my.cnf.rpmsave