开源 Linux 服务器与中间件(八)数据库--MariaDB
文章的目的记录所使用的的Linux服务器和中间件的配置和使用,防止时间太长忘记,进行重复工作。
相关链接:
开源 Linux 服务器与中间件(一)基本介绍
开源 Linux 服务器与中间件(二)嵌入式Linux服务器和中间件
开源 Linux 服务器与中间件(三)服务器--Nginx
开源 Linux 服务器与中间件(四)服务器--Tomcat
开源 Linux 服务器与中间件(五)服务器--Boa
推荐链接:
linux C 语言开发 (一) Window下用gcc编译和gdb调试
linux C 语言开发 (二) VsCode远程开发 linux
linux C 语言开发 (三) 建立云服务器
linux C 语言开发 (四) linux系统常用命令
linux C 语言开发 (五) linux系统目录结构
linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)
linux C 语言开发 (七) 文件 IO 和标准 IO
linux C 语言开发 (八) 进程基础
linux C 语言开发 (九) 进程间通讯--管道
linux C 语言开发 (十) 进程间通讯--信号
linux C 语言开发 (十一) 进程间通讯--共享内存
linux C 语言开发 (十二) 进程间通讯--消息队列
Linux C到Android App开发推荐链接(入门十二章):
开源 java android app 开发(一)开发环境的搭建_csdn 开源 java android app-CSDN博客
开源 java android app 开发(一)开发环境的搭建-CSDN博客
开源 java android app 开发(二)工程文件结构-CSDN博客
开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客
开源 java android app 开发(四)GUI界面重要组件-CSDN博客
开源 java android app 开发(五)文件和数据库存储-CSDN博客
开源 java android app 开发(六)多媒体使用-CSDN博客
开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客
开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客
开源 java android app 开发(九)后台之线程和服务-CSDN博客
开源 java android app 开发(十)广播机制-CSDN博客
开源 java android app 开发(十一)调试、发布-CSDN博客
开源 java android app 开发(十二)封库.aar-CSDN博客
linux C到.net mvc开发推荐链接:
开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客
开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客
开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客
开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客
开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客、
内容:MariaDB数据库功能,如何安装和测试。
目录
1.MariaDB数据库功能
2.MariaDB数据库安装
3.MariaDB数据库测试
一、MariaDB数据库功能
MariaDB 是一个开源、社区开发、关系型数据库管理系统,由 MySQL 的原始开发者创建,旨在保持与 MySQL 的高兼容性,同时提供更开放、更安全和性能更优的替代方案。
核心功能:
-
关系型数据库管理: 使用 SQL 语言进行数据管理,支持表、视图、存储过程、触发器、外键等。
-
高兼容性: 与 MySQL 在命令、API 和协议上高度兼容,大多数情况下可以直接替换 MySQL 而无需修改代码。
-
高性能: 引入了多种先进的存储引擎,如:
-
InnoDB: 默认引擎,支持事务、行级锁和外键,保证 ACID 特性。
-
Aria: 用于内部临时表和系统表,崩溃后可以恢复。
-
ColumnStore: 为数据仓库和大型分析查询而设计。
-
MyISAM: (早期 MySQL 的默认引擎)适用于读多写少的场景。
-
-
安全性与加密: 提供数据传输加密、静态数据加密、用户权限管理等多种安全功能。
-
可扩展性与高可用性: 支持主从复制、主主复制、Galera Cluster 多主集群,满足高可用和负载均衡需求。
-
开源与社区驱动: 完全开源,由一个活跃的社区维护,避免了被单一商业公司控制的风险。
主要用途:
-
Web 应用程序数据库: 作为 LEMP/LAMP 堆栈的一部分,为 WordPress、Drupal、Joomla 等众多流行网站和 CMS 系统提供数据存储。
-
数据分析和报告: 处理和分析结构化数据。
-
嵌入式系统: 由于其轻量级和可定制性,可用于嵌入式设备。
-
作为 MySQL 的替代品: 对于担心 Oracle 对 MySQL 控制权的用户,MariaDB 是首选替代方案。
二、MariaDB数据库安装
使用过vscode 链接百度云进行安装
步骤 1:更新软件包索引
首先,打开终端,确保您的软件包列表是最新的。
sudo apt update
步骤 2:安装 MariaDB 服务器
mariadb-server 包会自动引入 mariadb-client 等必要的依赖包。
sudo apt install mariadb-server
在安装过程中,系统可能会提示您设置 root 密码,但在后续版本中,默认使用了一种更安全的身份验证方式。我们将在安装后进行安全配置。
步骤 3:(可选但强烈推荐)运行安全安装脚本
MariaDB 提供了一个脚本,可以帮助您提高安装的安全性,例如设置 root 密码、移除匿名用户、禁止远程 root 登录等。
sudo mysql_secure_installation
您将看到一系列提示:
Enter current password for root (enter for none): 初始安装后 root 密码为空,直接按 Enter。
Switch to unix_socket authentication [Y/n]: 这为 root 用户提供了另一种更安全的身价验证方式。推荐输入 Y 并按 Enter。
Change the root password? [Y/n]: 是否设置 root 密码?强烈建议输入 Y 并设置一个强密码。
Remove anonymous users? [Y/n]: 是否删除匿名测试用户?输入 Y。
Disallow root login remotely? [Y/n]: 是否禁止 root 用户远程登录?输入 Y(出于安全考虑,通常只允许本地登录)。
Remove test database and access to it? [Y/n]: 是否删除名为 ‘test’ 的测试数据库?输入 Y。
Reload privilege tables now? [Y/n]: 是否立即重新加载权限表使更改生效?输入 Y。
至此,MariaDB 已经安装并进行了基本的安全加固。
三、MariaDB数据库测试
1. 连接到 MariaDB 服务器
使用 root 用户和您刚才设置的密码登录到 MariaDB 控制台。
sudo mysql -u root -p
系统会提示您输入密码,输入后即可进入 MariaDB 的交互式终端,提示符变为 MariaDB [(none)]>。
注意: 在 Ubuntu 上,默认配置下,使用 sudo 来以系统超级用户权限连接数据库,是访问 root 数据库账户的推荐方式。
2. 执行基本 SQL 命令进行测试
在 MariaDB 提示符下,您可以执行 SQL 命令。
显示所有数据库:
sql
SHOW DATABASES;
创建一个新的测试数据库:
sql
CREATE DATABASE test_db;
使用这个数据库:
sql
USE test_db;
创建一张新表:
sql
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL,email VARCHAR(100)
);
向表中插入数据:
sql
INSERT INTO users (username, email) VALUES ('zhangsan', 'zhangsan@example.com');
INSERT INTO users (username, email) VALUES ('lisi', 'lisi@example.com');
查询表中的数据:
sql
SELECT * FROM users;
您应该能看到刚才插入的两条记录。
退出 MariaDB 控制台:
sql
EXIT;
3. 使用命令行进行简单查询
您也可以不进入交互模式,直接在 终端中执行命令并查看结果。
sudo mysql -u root -p -e "SHOW DATABASES;"
4. 检查 MariaDB 服务状态
确保 MariaDB 服务正在运行。
sudo systemctl status mysql
# 或者在某些旧系统上可能是
# sudo systemctl status mariadb
如果服务没有运行,可以使用以下命令启动并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql