17370845950

MariaDB 简介

mariadb community server 是一个开源的关系数据库服务器,备受全球开发者的青睐。它由 mysql 的原始开发者创建,与 mysql 兼容,并承诺始终保持开源状态。mariadb 为许多全球知名的网站提供动力,包括维基百科和 wordpress.com,同时也是许多银行、社交媒体、移动和电子商务网站的核心引擎。

MariaDB Enterprise 提供一个完整的生产级开源数据库解决方案。

MariaDB 的官方网站为 https://www./link/a6e575484aad165f9027c92308bb784a https://www./link/a6b25cc04de4031b55ef0aef421ec4a4。

在 CENT OS 系统下安装 MariaDB 的命令如下:

yum install mariadb-server mariadb

MariaDB 数据库的相关命令包括:

systemctl start mariadb  # 启动 MariaDB
systemctl stop mariadb  # 停止 MariaDB
systemctl restart mariadb  # 重启 MariaDB
systemctl enable mariadb  # 设置开机启动

在 Windows 系统下安装 MariaDB,我选择了 https://www./link/b9b30a509250079ed5b2b1773e829db0 版本。

使用 mysql_install_db.exe 命令进行安装:

mysql_install_db.exe 功能类似于 Unix 上的 mysql_install_db shell 脚本,但它已扩展到 Windows 特定的功能(如创建 Windows 服务)以及其他有用的功能。例如,它可以在创建数据库时设置“root”用户密码,并在数据目录中创建 my.ini 配置文件,添加重要参数(如端口)。

如果选择了“Database instance”特性,MariaDB Windows 安装程序将使用 mysql_install_db.exe。它取代了过去使用的类似工具和脚本,如 mysqld.exe --install, mysql_install_db.pl, 和 mysql_secure_installation.pl

注意:要创建 Windows 服务,mysql_install_db.exe 应由具有完全管理员权限的用户运行(在使用 UAC 的系统上需要提升命令提示符)。例如,在 Windows 7 上运行时,请确保通过“以管理员身份运行”选项启动命令提示符。

案例:

显示帮助消息并退出:

mysql_install_db.exe -?

在特定目录中创建数据库,注册自动启动的 Windows 服务“ MyDB”,并将根密码设置为“abc123”:

mysql_install_db.exe --datadir=C:\Users\likai1_wb\kkk\software\mariadb-10.6.5-data --service=MyDB --password=abc123 --port=3308 --allow-remote-root-access

从命令行启动服务:

sc start MyDB

如果该命令无法启动 MyDB,请检查登录身份。

删除数据库实例:

sc stop 
sc delete 
rmdir /s /q 

开发 3308 端口:本地访问可以直接使用 localhost,但在另一台电脑上使用 root 进行访问时,需要开启自定义的 3308 入站规则端口权限。

右键点击“入站规则”,从弹出菜单中选择“新建规则”。在“要创建的规则类型”中选择“端口”,点击“下一步”,选择“TCP”,然后在“特定本地端口”后填入端口号。点击“下一步”,选择“允许连接”,再点击“下一步”,根据实际情况和需求选择域、专用或公用选项,最后为规则命名。

登录 MariaDB(https://www./link/0aa2946c67f639237f396261b8a894ab):

mysql -u root --password=abc123 -h 10.1.212.135 -P 3308

mariadb -u root --password=abc123 -h 10.1.212.135 -P 3308

如果登录成功,应该会看到类似于以下内容:

MariaDB [test]> 

在这里输入所有 SQL 语句。提示符的组件包括:“MariaDB”表示已连接到 MariaDB 数据库服务器,方括号中的单词是默认数据库的名称。

创建数据库和表:

CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE IF NOT EXISTS books (
  BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  Title VARCHAR(100) NOT NULL,
  SeriesID INT,
  AuthorID INT
);
CREATE TABLE IF NOT EXISTS authors (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
CREATE TABLE IF NOT EXISTS series (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
INSERT INTO books (Title,SeriesID,AuthorID) VALUES('The Fellowship of the Ring',1,1),
       ('The Two Towers',1,1), ('The Return of the King',1,1),
        ('The Sum of All Men',2,2), ('Brotherhood of the Wolf',2,2),
       ('Wizardborn',2,2), ('The Hobbbit',0,1);

查看表:

SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| authors        |
| books          |
| series         |
+----------------+
3 rows in set (0.00 sec)

描述表结构:

DESCRIBE books;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| BookID   | int(11)      | NO   | PRI | NULL    | auto_increment |
| Title    | varchar(100) | NO   |     | NULL    |                |
| SeriesID | int(11)      | YES  |     | NULL    |                |
| AuthorID | int(11)      | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

查询数据:

SELECT * FROM books;
+--------+----------------------------+----------+----------+
| BookID | Title                      | SeriesID | AuthorID |
+--------+----------------------------+----------+----------+
|      1 | The Fellowship of the Ring |        1 |        1 |
|      2 | The Two Towers             |        1 |        1 |
|      3 | The Return of the King     |        1 |        1 |
|      4 | The Sum of All Men         |        2 |        2 |
|      5 | Brotherhood of the Wolf    |        2 |        2 |
|      6 | Wizardborn                 |        2 |        2 |
|      7 | The Hobbbit                |        0 |        1 |
+--------+----------------------------+----------+----------+
7 rows in set (0.00 sec)

插入数据:

INSERT INTO books (Title, SeriesID, AuthorID)VALUES ("Lair of Bones", 2, 2);
Query OK, 1 row affected (0.00 sec)

更新数据:

UPDATE books SET Title = "The Hobbit" WHERE BookID = 7;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

如你所见,使用 MariaDB 并不困难。只要理解 SQL 的语法,因为它不允许输入错误或顺序错误或其他偏差。

参考资料:A MariaDB Primer - MariaDB Knowledge Base https://www./link/845561665f33c461be03db0a1aeddf76