MySQL8.0.26-Linux版安装
1. 准备一台Linux服务器
云服务器或者虚拟机都可以;
Linux的版本为 CentOS7;
相关博客:VMware Workstation 安装CentOS Linux操作系统
利用远程控制软件FinalShell远程连接虚拟机上的Linux系统(Windows)
2. 下载Linux版MySQL安装包
3. 上传MySQL安装包
4. 创建目录,并解压
mkdir mysql
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql
5. 安装mysql的安装包
- 由于是rpm安装包,他不会处理之间的依赖关系,所以必须按顺序解压
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
!!!第三条命令可能会出现依赖检测失败
- 解决方式:输入以下代码
- 用于通过yum包管理器自动(由于-y选项)移除名为mariadb-libs.x86_64的软件包
yum -y remove mariadb-libs.x86_64
- 原因:(系统自带Mariadb)
6. 启动MySQL服务
- mysql安装完后会自动注册一个系统服务mysqld
- 等待一会后加载完成
systemctl start mysqld //启动mysqld
systemctl restart mysqld //重启mysqld
systemctl stop mysqld //停止mysqld
7. 查询自动生成的root用户密码
- 因为我们是rpm进行安装,没有指定root的密码
- 要去日志文件中查看他生成的随机密码
grep 'temporary password' /var/log/mysqld.log
命令行执行指令 :
mysql -u root -p
然后输入上述查询到的自动生成的密码, 完成登录 .
8. 修改root用户密码【解决:ERROR 1819 (HY000)Your password does not satisfy the current policy requirements】
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为4。
- 我们搜寻官方文档的校验规则 关键字:validate_passwd
我们修改其为低等级
set global validate_password.policy = 0;
set global validate_password.length = 4;
降低密码的校验规则之后,再次执行上述修改密码的指令。
成功
※exit推出mysql服务
9. 创建用户————实现远程访问
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问
- %表示所有用户都能访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
10. 并给root用户分配所有权限
grant all on *.* to 'root'@'%';
11. 重新连接MySQL
mysql -u root -p
12. 通过DataGrip远程连接MySQL
- 输入虚拟机ip地址
输入在mysql中设置的用户的密码1234
若出现连接失败:去检查LINUX系统的防火墙
-
出现报错,检查LINUX系统防火墙
-
法1. 开放虚拟机3306端口
-
法2. 直接关闭防火墙
-
注意在操作前,先su到超级用户
systemctl stop firewalld.service //关闭防火墙
systemctl disabled firewalld.service //防止自启动
sudo systemctl start firewalld //启动防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent //开放3306端口
firewall-cmd --reload //重新登录