RockyLinux安装MariaDB

1 前言

  在 Windows 10 上的 VirtualBox 上安装完 RockyLinux 之后,就可以开始安装数据库了。听说 MariaDB 兼容 MySQL ,而且性能似乎比 MySQL 还好,所以这次尝试安装下它。

  RockLinux 的安装教程,可参考我的另一篇文章 《VirtualBox安装RockyLinux并使用ssh访问》

2 参考

  MariaDB 的官网是 https://mariadb.com/ 。由于 RockLinux 是类似于 CentOS 的系统,所以使用 yum 安装 MariaDB,官方也有详细的指南 https://mariadb.com/kb/en/yum ,我们就参考这篇指南,完成 MariaDB 的安装。

3 开始安装

3.1 运行官方脚本 添加 MariaDB 的源

  首先就是运行如下命令,把 MariaDB 的源添加到 /etc/yum.repos.d/ 目录下。

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

  运行结果如下:

在这里插入图片描述

  上面这行命令,会默认 将最新版本(此时是 2023年9月,最新版本是 11.1.2)的 MariaDB 添加到源中。所以如果想要安装旧版本的 MariaDB ,那么就得给这行命令再添加一些参数了。添加参数的话,可以参考另外一篇官方文档 https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage ,这里就不赘述了。

3.2 安装 MariaDB Server

  执行如下命令,回车。

sudo dnf install MariaDB-server

  运行结果如下图,输入 y ,然后回车

在这里插入图片描述

  继续运行一会儿后,就显示 Complete 了,表示安装完成,如下图:

在这里插入图片描述

3.3 启动 MariaDB

  安装完成后,MariaDB 默认情况下是没在运行的。

# 首先看下 MariaDB 的状态,看它是否已经在运行中
systemctl status mariadb

  运行结果如下图,由此可知,MariaDB 未在运行,而且也不是开机自启动。

在这里插入图片描述

  启动 MariaDB

systemctl start mariadb

  然后再查看 MariaDB 的状态,可知它已在运行中。

在这里插入图片描述

4 SSH 登录 MariaDB

4.1 ssh 上使用 root 账号登录

  在 Putty 上输入 root 用户名,直接就登录进去了,不需要密码。

mariadb -uroot

在这里插入图片描述

4.2 新建管理员账号并授权

/*
第1步,新建管理员账号
  sjzadmin 是账号名(随便起)
  '%' 表示任意 Host ,也就是可以远程连接
  P_sjz123 是密码
*/
CREATE USER sjzadmin@'%' IDENTIFIED BY 'P_sjz123';

/*
第2步,授权
*/
GRANT ALL PRIVILEGES ON *.* TO 'sjzadmin'@'%' WITH GRANT OPTION;

/*
第3步,刷新
*/
FLUSH PRIVILEGES;

5 放行端口 3306

5.1 VirtualBox 上设置端口转发

在这里插入图片描述

5.2 Rocky Linux 防火墙放行 3306 端口

## 第1步 查看防火墙是否正在运行中。一般情况下是开机自启动的
firewall-cmd --state

## 第2步(可选) 如果防火墙没有运行中,可通过如下命令启动防火墙 并设置 开机自启动
# 启动防火墙
systemctl start firewalld
# 开机自启动防火墙
systemctl enable firewalld

## 第3步 查询 3306 端口是否已经放行了
# 查询当前哪些端口被放行了
firewall-cmd  --zone=public  --list-ports
# 查询 3306 端口是否放行了
firewall-cmd --query-port=3306/tcp

## 第4步 如果第3步发现 3306 端口没有被放行的话,就放行它
# 永久放行指定端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重载防火墙配置,让前面的配置生效
firewall-cmd --reload

## 第5步(可选)如果不想放行某个端口了,可以永久关闭它
firewall-cmd --zone=public --remove-port=3306/tcp --permanent

6 使用 DBeaver 连接虚拟机上的 MariaDB

  打开 DBeaver,按快捷键 Ctrl + Shift + N ,弹出新建数据库连接的窗口,如下图:

在这里插入图片描述

  输入 URL 用户名密码 来连接 MariaDB

在这里插入图片描述

  如此这般,便是连接成功了。

在这里插入图片描述

7 MariaDB 设置 表名称不区分大小写

  经过上面的步骤后,我们的 DBeaver 可以连接上虚拟机里面的 MariaDB 了,但是,当我们新建一个数据库,然后新建表后,发现表名竟然是区分大小写的。具体如下:

7.1 首先创建数据库

  如下图,字符集选择 utf8mb4 ,排序规则选择 utf8mb4_general_ci

在这里插入图片描述

7.2 然后执行下面的 SQL 创建表

DROP TABLE IF EXISTS USER_ACCOUNT;
CREATE TABLE USER_ACCOUNT
(
    `USER_ID`            VARCHAR(32)  NOT NULL COMMENT '用户ID',
    `USERNAME_EN`        VARCHAR(32)  NOT NULL COMMENT '用户名英文',
    `USERNAME_ZH_CN`     VARCHAR(255) NOT NULL COMMENT '用户名中文',
    `ENCRYPTED_PASSWORD` VARCHAR(255) NOT NULL COMMENT '已加密的用户密码',
    `USER_STATUS`        VARCHAR(32)  NOT NULL COMMENT '用户状态',
    `TENANT_ID`          VARCHAR(32) COMMENT '租户号',
    `REVISION`           INT COMMENT '乐观锁',
    `CREATED_BY`         VARCHAR(32) COMMENT '创建人',
    `CREATED_TIME`       DATETIME COMMENT '创建时间',
    `UPDATED_BY`         VARCHAR(32) COMMENT '更新人',
    `UPDATED_TIME`       DATETIME COMMENT '更新时间',
    PRIMARY KEY (USER_ID)
) COMMENT = '用户账号表;';

7.3 接着查询这张表

  发现表名大写就可以查询到,小写就报错:

-- 表名大写,也就是和前面的 DDL 语句一致的话,是可以查询到的
SELECT * FROM USER_ACCOUNT;

-- 表名小写就不行,就报错:Table 'mytest.user_account' doesn't exist
SELECT * FROM user_account;

7.4 解决方法

  Putty 连接虚拟机的 RockLinux,在 /etc/my.cnf.d/ 目录下,编辑 server.cnf 文件,如下:

vim server.cnf

  做如下修改:

在这里插入图片描述

  然后重启 mariadb,如下:

systemctl restart mariadb

  接着验证下效果,在 Putty 上登录 mariadb:

在这里插入图片描述

  最后,把先前建的数据库和表,都删除了,重建一下就可以了。

8 在 spring boot 中使用 mariadb

8.1 maven 依赖

  到 https://mvnrepository.com/ 上搜索 mariadb-java-client 然后就可以得到如下 maven 依赖:

<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>3.2.0</version>
</dependency>

  另外, 访问 MariaDB Connector/J 的官网 https://mariadb.com/kb/en/about-mariadb-connector-j/,可知,3.x 版本的兼容 java8、java11、java17,而 2.7.x 版本只兼容 java8 和 java11。

8.2 application.yml

  如下:

spring:
  application:
    name: my-test
  datasource:
    url: jdbc:mariadb://192.168.56.1:3306/mytest?autoReconnect=true&allowMultiQueries=true
    username: sjzadmin
    password: P_sjz123
    driver-class-name: org.mariadb.jdbc.Driver

  上面 spring.datasource.url 问号后面的参数,可以从官方文档 https://mariadb.com/kb/en/about-mariadb-connector-j/ 上搜索得到其含义。

9 结语

  感谢阅读~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Conda 安装 MariaDB,你可以按照以下步骤进行操作: 1. **创建新的环境(可选)**:如果你希望在一个独立的 Conda 环境中安装 MariaDB,可以使用以下命令创建一个新的环境: ``` conda create -n mariadb_env ``` 这将创建一个名为 "mariadb_env" 的新环境。如果你想在已有的环境中安装 MariaDB,可以跳过此步骤。 2. **激活环境**:如果你创建了新的环境,请使用以下命令激活该环境: ``` conda activate mariadb_env ``` 3. **安装 MariaDB**:使用以下命令在 Conda 环境中安装 MariaDB: ``` conda install -c conda-forge mariadb ``` 这将从 conda-forge 渠道下载并安装 MariaDB。等待安装完成。 4. **配置 MariaDB**:安装完成后,可以使用 `mysql_install_db` 命令来初始化 MariaDB 数据目录和系统表: ``` mysql_install_db --user=mysql --basedir=/path/to/conda/envs/mariadb_env ``` 将 `/path/to/conda/envs/mariadb_env` 替换为你的 Conda 环境的路径。 5. **启动 MariaDB**:使用以下命令启动 MariaDB 服务器: ``` mysqld_safe --user=mysql --basedir=/path/to/conda/envs/mariadb_env & ``` 将 `/path/to/conda/envs/mariadb_env` 替换为你的 Conda 环境的路径。 现在,你应该能够在 Conda 环境中成功安装和启动 MariaDB。你可以使用 `mysql` 命令行工具连接到 MariaDB 服务器并进行操作。 请注意,使用 Conda 安装 MariaDB 可能与其他已安装MariaDB数据库版本发生冲突。确保在安装之前备份重要数据,并在测试环境中进行验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值