MairaDB介绍

MariaDB是由MySQL的开发者创建的一个开源关系型数据库管理系统,它是MySQL的一个分支,基于社区开发和维护。它完全兼容MySQL,并扩展了一些新特性和功能。MariaDB被广泛用于Web应用程序和企业级软件中,因为它具有高可靠性和稳定性,同时还有很好的性能

利用Docker搭建MariaDB数据库

下面是MaiaDB的具体搭建教程,并附有用MairaDB为NextCLoud搭建数据库的具体示例

安装Docker

如果是NAS的话根据官方文档即可,如果是Linux(Ubuntu、Debian、CentOS等)可以参考下面两篇文章:
基于Ubuntu安装docker
VPS基础配置-安装docker

安装MariaBD

  1. 打开终端或命令行界面,输入以下命令拉取MariaDB的Docker镜像:
1
docker pull linuxserver/mariadb
  1. 创建一个新的Docker容器并运行MariaDB:
1
docker run --name my-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d linuxserver/mariadb

其中,my-mariadb是容器的名称,MYSQL_ROOT_PASSWORD是设置根用户密码的环境变量。
示例

1
2
docker run --name mariadb -e MYSQL_ROOT_PASSWORD=Abcd26580 -d mariadb
# 创建了一个叫mariadb的Docker,其中mariadb的root用户的密码为:Abcd2580

Mariadb的使用

  1. 使用以下命令进入MariaDB的Docker容器:
1
docker exec -it my-mariadb bash

其中my-mariadb需要更换成刚刚设置的Docker名
示例

1
2
docker exec -it mariadb bash
# 刚刚演示创建的Docker名叫mariadb,所以要将my-mariadb替换成mariadb
  1. 使用以下命令登录到MariaDB服务器:
1
2
mysql -uroot -p
(这里输入之前设置的密码)
  1. 在MariaDB中创建新的数据库:
1
create database my_database;

其中my_database是要创建新数据库的名字,记得最后一定要有一个分号
示例

1
2
create database nextcloud;
# 创建了一个叫nextcloud的数据库
  1. 创建一个新用户:
1
create user my_userid@'%' identified by 'userid_pw';

其中my_userid是新用户的用户名,@'%'代表可以远程访问数据库,userid_pw是新用户的密码
示例

1
2
create user nextcloud@'%' identified by 'nextcloud123';
# 创建了一个名为nextcloud的用户,并且该用户可以远程访问数据库,该用户的密码是nextcloud123
  1. 赋予用户某数据库的所有权限:
1
grant all on my_database.* to my_userid;

将my_database和my_userid替换成刚刚创建的数据库和用户名,将all替换成其他的可以修改用户对数据库的使用权
示例

1
2
grant all on nextcloud.* to nextcloud;
# 将数据库nextcloud的所有权赋予给用户nextcloud

MairaDB数据的常用命令总结

当您登录到MariaDB服务器时,可以使用以下命令操作数据库:

  1. 创建数据库:
1
CREATE DATABASE database_name;
  1. 使用特定数据库:
1
USE database_name;
  1. 显示所有表:
1
SHOW TABLES;
  1. 显示表结构:
1
DESCRIBE table_name;
  1. 创建表:
1
2
3
4
5
CREATE TABLE table_name (
column_name1 data_type constraint(s),
column_name2 data_type constraint(s),
...
);

其中,column_name是列的名称,data_type是数据类型,constraint是约束条件,如NOT NULL、UNIQUE等。

  1. 插入数据:
1
2
INSERT INTO table_name (column1, column2, column3, ...) 
VALUES (value1, value2, value3, ...);
  1. 更新数据:
1
UPDATE table_name SET column1=value1, column2=value2 WHERE condition;

where条件是指要更新的数据的过滤条件。

  1. 删除数据:
1
DELETE FROM table_name WHERE condition;
  1. 删除表:
1
DROP TABLE table_name;
  1. 删除数据库:
1
DROP DATABASE database_name;

以上是一些MariaDB常用的命令。根据您的实际情况,可能还有其他可以使用的命令。如果你需要更多的帮助,可以在MariaDB官方文档中查找详细的命令列表。