一、前言
数据库的作用:
数据库在网页部署中至关重要。它存储各类数据,实现快速检索查询,支持数据更新修改,助力网页动态交互。
数据库选择:
MySQL 8.4 Red Hat Enterprise Linux / Oracle Linux版本
- 说明:
- 本次选择红帽版本
2. 介绍: - Microsoft Windows:是一款由微软公司开发的闭源操作系统,主要应用于个人电脑、服务器、嵌入式设备等各种场景。
- Debian Linux:是一款以自由软件为基础的开源操作系统,主要应用于服务器、嵌入式设备等各种场景。
- Ubuntu Linux:是基于Debian Linux开发的操作系统,主要面向个人计算机和服务器
- SUSE Linux Enterprise Server:是一款由SUSE公司开发的商业版Linux操作系统,主要面向企业级应用和服务器。
- Red Hat Enterprise Linux / Oracle Linux:都是由Red Hat和Oracle公司开发的商业版Linux操作系统,主要面向企业级应用和服务器。
- Linux-Generic:是一种通用的Linux发行版(不属于上述的任何一版的Linux操作系统,OpenCloudOS8.6属于这一版),适用于各种不同的硬件架构和应用场景。
- Oracle Solaris:是一款由Oracle公司开发的商业版Unix操作系统,主要应用于企业级应用和服务器。
- Source code:是MySQL数据库的源代码,用户可以根据需要自行编译安装。
服务器选择:
OpenCloudOS V8.8
镜像选择:
OpenCloudOS-8.8-x86_64-minimal.iso
搭建服务器环境配置:
内存:4G
处理器:2*2=4
硬盘:50G
镜像:不废话!
磁盘分配:/boot 1G,swap 2G,/ 47G(可能有用,可能没用。先写着)
网卡:一张
二、MySQL8.4下载
下载网址:
MySQL :: Download MySQL Community Server (Archived Versions)
上传MySQL8.4:
使用winscp软件上传mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar
注:在此之前进入服务器里新建mysql8文件夹,新建文件路径命令如下:
mkdir /user/local/mysql8
cd /user/local/mysql8
winscp上传查找路径:
/user/local/mysql8/
查看是否安装过mariadb和mysql
rpm -qa|grep -i mariadb
rpm -qa|grep -i mysql
解压mysql
cd /user/local/mysql8
ll
查看目录下的文件,确认有 mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar
安装包。
/ [root@localhost mysql8]# ll
总用量 xxx
-rw-r--r--. 1 root root xxx 日期时间 mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar
解压安装包
tar -xf mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar
安装mysql组件
rpm -ivh mysql-community-common-8.4.0-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.4.0-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.4.0-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.4.0-1.el8.x86_64.rpm
启动和运行mysql
systemctl start mysqld //启动 MySQL 服务
systemctl enable mysqld //设置开机自启
systemctl status mysqld //查看 MySQL 运行状态
获取并修改默认密码:
可以通过以下命令查看默认密码生成的日志信息
grep 'temporary password' /var/log/mysqld.log
查询日志信息结果:
[root@localhost mysql8]# grep 'temporary password' /var/log/mysqld.log
2024-08-21T10:40:18.834673Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 2zhdOCE=kQUx
获取信息:
- 用户名:root
- 主机名:localhost
- 临时密码:2zhdOCE=kQUx
在这里,我们需要重新设置密码,但是第一次登录要使用临时密码
mysql -uroot -p2zhdOCE=kQUx
修改密码:
MySQL 8.4.0 对密码强度有较高要求,你可以根据实际情况设置一个符合要求的密码,或者调整密码策略后再设置密码。在这里把密码设置为Webtext@0604
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Webtext@0604';
不过会报错,如下:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个错误表明你设置的新密码不满足当前的密码策略要求。
在 MySQL 8.4 中,默认的密码策略较为严格。你可以通过以下方法调整密码策略以设置新密码:
SHOW VARIABLES LIKE 'validate_password%';
这将显示当前的密码策略设置,例如密码长度要求、密码强度等。
降低密码策略要求:
SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.length = 4;
这里将密码策略设置为较低要求,策略为 0 表示最低要求,密码长度设置为 4。你可以根据实际情况调整这些值。
设置新密码,且强制修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Webtext@0604' PASSWORD EXPIRE;
结束使用MySQL要退出:
exit;
三、Windows端上的 Navicat Premium 15 连接到该 MySQL 服务器的准备工作
确定 linux的IP 地址:
ip addr show
或者
ifconfig
找到对应网络接口的 IP 地址(通常为 inet 后面的地址)
- Linux端MySQL端口3306和防火墙端口打开:
保存配置文件并重启 MySQL 服务:
systemctl restart mysqld
检查防火墙设置并开放 MySQL 端口3306
firewall-cmd --state
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
如果结果呢显示success,那就对了
- 检查用户权限
以管理员身份登录到 MySQL 服务器:
mysql -u root -p
查看当前用户的权限:
SELECT user, host, plugin, authentication_string FROM mysql.user;
确认你在 Navicat 中使用的用户是否具有从特定主机连接的权限。
如果没有权限,可以使用以下命令为用户授予权限:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'your_client_ip' IDENTIFIED BY 'password';
将 username 替换为你的 MySQL 用户,your_client_ip 替换为你的 Windows 电脑的 IP 地址或者特定的主机名,如果想允许从任何主机连接,可以使用 % 代替特定 IP。
根据要求,默认其他主机都可以连接Linux数据库。username可以改成anyuser。
所以,我可以这样写:
GRANT ALL PRIVILEGES ON *.* TO 'anyuser'@'%' IDENTIFIED BY 'Webtext@0604';
最后使用立即生效:
FLUSH PRIVILEGES;
在 MySQL 8.4 中,授予权限的语法稍有变化。以下是正确的语法格式
CREATE USER 'anyuser'@'%' IDENTIFIED BY 'Webtext@0604';
GRANT ALL PRIVILEGES ON *.* TO 'anyuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
四、MySQL连接Navicat Premium 15
一、打开 Navicat Premium 15
启动 Navicat Premium 15 软件,你会看到一个简洁的主界面。
二、创建连接
- 在主界面左上角点击 “连接” 按钮,选择 “MySQL”。
- 在弹出的 “新建连接 - MySQL” 窗口中,进行以下2图进行设置:
- “连接名”:可以自定义一个易于识别的名称,方便后续管理。
- “主机”:输入 Linux 系统的 IP 地址,这是在前面确定 Linux IP 地址步骤中获取到的。
- “端口”:默认是 3306,一般情况下无需更改。
- “用户名”:输入在 Linux 上创建的用户,这里是 anyuser。最好还是输入root
- “密码”:输入设置的密码 Webtext@0604。
三、测试连接
设置完成后,点击 “连接测试” 按钮,Navicat Premium 15 会尝试连接到 Linux 上的 MySQL 服务器。如果一切设置正确,会显示 “连接成功” 的消息。
四、管理数据库
- 连接成功后,在左侧的导航栏中会出现你创建的连接名称。展开该连接,可以看到 MySQL 服务器中的数据库列表。
- 你可以进行以下管理操作:
- 数据库操作:创建新的数据库、删除数据库、修改数据库属性等。
- 表操作:创建表、设计表结构、插入数据、删除数据、修改数据、查询数据等。
- 视图、存储过程、函数等对象的管理。
- 执行 SQL 语句:可以在查询编辑器中输入 SQL 语句,执行各种数据库操作。
- 数据导入和导出:可以将数据从其他数据源导入到 MySQL 数据库中,或者将 MySQL 数据库中的数据导出为各种格式。
通过以上步骤,你就可以在 Windows 端的 Navicat Premium 15 上方便地连接并管理 Linux 上的 MySQL 数据库了。