热门搜索 :
考研考公
您的当前位置:首页正文

mariadb使用总结

2023-11-08 来源:东饰资讯网

1.service mariadb status/start/stop/restart

一系列的mariadb的常用命令

 

2.新增一个yangsf的用户,密码是yangsf,可以从本机或者任何一台机器上连接

GRANT ALL PRIVILEGES ON *.* TO ‘yangsf‘@‘localhost‘ IDENTIFIED BY ‘yangsf‘ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO ‘yangsf‘@‘%‘ IDENTIFIED BY ‘yangsf‘ WITH GRANT OPTION;

mariadb使用总结

标签:

小编还为您整理了以下内容,可能对您也有帮助:

(十二)MariaDB中的分区操作

数据量不大的中小型规模 size 的 Table 原则是还是采用 Table+Index 设计为最佳化的思考重点。

在大数据考虑数据分片的时候,有两点也是重点:

一是空间,数据存放的存储空间是否足够,易于扩展。
二是时间,对于数据存取是否有*,能否优化。

此外就是:

对于 MyISAM 引擎,可以设计分离数据文件和索引文件来加快数据存取。例如:

当然,InnoDB 采用 System TableSpace 集中存放,无法支持此种方式,需要通过设定去转换成一个 table 一个 file。

MariaDB 10 提供 Table 分区储存功能,大量数据切割成不同储存区域(Partition),Partiton 底层的档案可再切成多档方式储存(Sub-Partition)。

使用 Plugin 方式扩充

由 Storage Engine 自行实作,MariaDB 已支持的包括 InnoDB, TokuDB , Memory, Aria, Spider、MyISAM, Archive, BLACKHOLE

MySQL 仅支援 InnoDB

MariaDB 透过内建的 Partiton Storage Engine 提供此项分区服务

查看是否有安装此引擎:

系统管理方式与一般 tables 相同,System Partition 提供元数据(Metadata): Informaton_Schema.PARTITIONS 。

分区作业时,有些东西还需要特别考虑,例如分区类型、分区计算、目标表的形态、分区前后的应用等等。

MariaDB 的分区类型主要有:

语法:

CREATE TABLE 语句的最后一部分可以是新表分区的定义。对于 RANGE 分区

说明:

示例:

通过年份对日志表进行分区

注意:

如果 partitioning_expression 表达式引用的字段不是,就会出现以下错误:

语法:

说明:

示例:

依据文章语言分类,所有可能的筛选值必须判断,Language 事实上是 Foreign key 对应到 Language Table(所以用 id 表示),Partition table 不支持 Fkey,Language 必须是 正整数或 null。

字段型别:
Integer ( 不可产生负数 )、Date, DateTime、CHAR, VARCHAR, BINARY , VARBINARY、不可使用任何 functions, 运算子符号 (只能单纯使用字段…)

语法:

RANGE COLUMNS 分区类型:

LIST COLUMNS 分区类型:

两者的区别:

RANGE COLUMNS 是返回的值小于指定的值,第一个匹配条件的分区将包含该值;
LIST COLUMNS 返回的值包含在给定的值里面,同样允许且仅运行一个 DEFAULT 分区。

示例,修改上述 article 表,新加 year 字段:

分割后的 Table 将产生多个个别档案

文件名编码: table_name#P#partition_name.ext

在 InnoDB 下,会有以下 3 类:

以之前的 article 表为例,回顾一下创建语言:

使用 EXPLAIN PARTITIONS 来查看哪些分区会被使用到:

从结果来看,的确在 WHERE language < 4; 的条件下,只有 p0 和 p1 分区会有访问到。

如果优化器不知道或无法推断出哪些分区会被使用到,可以通过 PARTITION 子句强制 MariaDB 仅访问给定分区(MariaDB 10.0 开始),这也被称为分区选择

例如:

所有 DML 语句均支持 PARTITION 子句:SELECT、INSERT、UPDATE、DELETE、REPLACE、LOAD DATA 等。

通常情况下,分区修剪会用在触发器(triggers)语句中。

但是如果在表上定义了 BEFORE INSERT 或者 BEFORE UPDATE 的触发器,则 MariaDB 不会预先知道分区表达式中使用的字段(column)是否会更改。因此,*锁定所有分区。

(十二)MariaDB中的分区操作

数据量不大的中小型规模 size 的 Table 原则是还是采用 Table+Index 设计为最佳化的思考重点。

在大数据考虑数据分片的时候,有两点也是重点:

一是空间,数据存放的存储空间是否足够,易于扩展。
二是时间,对于数据存取是否有*,能否优化。

此外就是:

对于 MyISAM 引擎,可以设计分离数据文件和索引文件来加快数据存取。例如:

当然,InnoDB 采用 System TableSpace 集中存放,无法支持此种方式,需要通过设定去转换成一个 table 一个 file。

MariaDB 10 提供 Table 分区储存功能,大量数据切割成不同储存区域(Partition),Partiton 底层的档案可再切成多档方式储存(Sub-Partition)。

使用 Plugin 方式扩充

由 Storage Engine 自行实作,MariaDB 已支持的包括 InnoDB, TokuDB , Memory, Aria, Spider、MyISAM, Archive, BLACKHOLE

MySQL 仅支援 InnoDB

MariaDB 透过内建的 Partiton Storage Engine 提供此项分区服务

查看是否有安装此引擎:

系统管理方式与一般 tables 相同,System Partition 提供元数据(Metadata): Informaton_Schema.PARTITIONS 。

分区作业时,有些东西还需要特别考虑,例如分区类型、分区计算、目标表的形态、分区前后的应用等等。

MariaDB 的分区类型主要有:

语法:

CREATE TABLE 语句的最后一部分可以是新表分区的定义。对于 RANGE 分区

说明:

示例:

通过年份对日志表进行分区

注意:

如果 partitioning_expression 表达式引用的字段不是,就会出现以下错误:

语法:

说明:

示例:

依据文章语言分类,所有可能的筛选值必须判断,Language 事实上是 Foreign key 对应到 Language Table(所以用 id 表示),Partition table 不支持 Fkey,Language 必须是 正整数或 null。

字段型别:
Integer ( 不可产生负数 )、Date, DateTime、CHAR, VARCHAR, BINARY , VARBINARY、不可使用任何 functions, 运算子符号 (只能单纯使用字段…)

语法:

RANGE COLUMNS 分区类型:

LIST COLUMNS 分区类型:

两者的区别:

RANGE COLUMNS 是返回的值小于指定的值,第一个匹配条件的分区将包含该值;
LIST COLUMNS 返回的值包含在给定的值里面,同样允许且仅运行一个 DEFAULT 分区。

示例,修改上述 article 表,新加 year 字段:

分割后的 Table 将产生多个个别档案

文件名编码: table_name#P#partition_name.ext

在 InnoDB 下,会有以下 3 类:

以之前的 article 表为例,回顾一下创建语言:

使用 EXPLAIN PARTITIONS 来查看哪些分区会被使用到:

从结果来看,的确在 WHERE language < 4; 的条件下,只有 p0 和 p1 分区会有访问到。

如果优化器不知道或无法推断出哪些分区会被使用到,可以通过 PARTITION 子句强制 MariaDB 仅访问给定分区(MariaDB 10.0 开始),这也被称为分区选择

例如:

所有 DML 语句均支持 PARTITION 子句:SELECT、INSERT、UPDATE、DELETE、REPLACE、LOAD DATA 等。

通常情况下,分区修剪会用在触发器(triggers)语句中。

但是如果在表上定义了 BEFORE INSERT 或者 BEFORE UPDATE 的触发器,则 MariaDB 不会预先知道分区表达式中使用的字段(column)是否会更改。因此,*锁定所有分区。

(三)MariaDB插件(Plugin)简介

注:既然已经使用 DBeaver 了,后续许多 MariaDB 的指令,就直接在 dbeaver 的 sql script 里面写(工具栏“SQL 编辑器”->“新建 SQL 编辑器”),如果习惯使用终端窗口,在终端连接 MariaDB 之后,在其 MariaDB 命令窗口输入一样的。

MariaDB 的插件是:

说起来:

官网介绍有 3 种方式,使用其一即可。简单归结为

INSTALL PLUGIN 语法:

安装后,查询 Plugin 对应的模块名称,语法 show plugins soname

< plugin_name>就是 Name 字段了,’<plugin_library style="box-sizing: border-box;">就是 library 字段了。</plugin_library>

示例,安装一个名为 BLACKHOLE 的插件

执行安装语句:

新安装的插件,会显示在 mysql.glugin 表里面。所以查看此表,可以看到新安装的插件。也可用于查看是否安装成功:

同样,卸载组件也类似三种方式,任选其一即可:

例如,卸载刚刚安装的 BLACKHOLE:

再查询 select * from mysql.plugin; 就没有 BLACKHOLE 了。

(三)MariaDB插件(Plugin)简介

注:既然已经使用 DBeaver 了,后续许多 MariaDB 的指令,就直接在 dbeaver 的 sql script 里面写(工具栏“SQL 编辑器”->“新建 SQL 编辑器”),如果习惯使用终端窗口,在终端连接 MariaDB 之后,在其 MariaDB 命令窗口输入一样的。

MariaDB 的插件是:

说起来:

官网介绍有 3 种方式,使用其一即可。简单归结为

INSTALL PLUGIN 语法:

安装后,查询 Plugin 对应的模块名称,语法 show plugins soname

< plugin_name>就是 Name 字段了,’<plugin_library style="box-sizing: border-box;">就是 library 字段了。</plugin_library>

示例,安装一个名为 BLACKHOLE 的插件

执行安装语句:

新安装的插件,会显示在 mysql.glugin 表里面。所以查看此表,可以看到新安装的插件。也可用于查看是否安装成功:

同样,卸载组件也类似三种方式,任选其一即可:

例如,卸载刚刚安装的 BLACKHOLE:

再查询 select * from mysql.plugin; 就没有 BLACKHOLE 了。

如何在linux上面安装mariadb总结

1、下载MariaDB(mariadb-5.5.31.tar.gz)

[root@zabbix_server opt]# wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz

   2、安装MariaDB

[root@zabbix_server opt]# tar xzvf mariadb-5.5.31.tar.gz

[root@zabbix_server cmake-2.8.5]# cd cmake-2.8.5

[root@zabbix_server cmake-2.8.5]# ./bootstrap

[root@zabbix_server cmake-2.8.5]# make

[root@zabbix_server cmake-2.8.5]# make install

3、安装MariaDB所需软件包

yum install lio-devel -y

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariamysql

-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1

-DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0

-DBUILD_CONFIG=mysql_release -DFEATURE_SET=community

-DWITH_EMBEDDED_SERVER=OFF

cp support-files/my-innodb-heavy-4G.cnf /etc/my.cnf

/usr/local/mariamysql/scripts/mysql_install_db

--basedir=/usr/local/mariamysql/ --datadir=/usr/local/mariamysql/data/

--user=mysql

/usr/local/mariamysql/bin/mysqld_safe --user=mysql

4、查看mariadb是否安装成功

[root@zabbix_server mariadb-5.5.31]# ps -ef | grep mysql

root      9010 17846  0 16:08 pts/0    00:00:00 /bin/sh /usr/local/mariamysql/bin/mysqld_safe --user=mysql

mysql     9459  9010  0 16:08 pts/0    00:00:01 /usr/local/mariamysql/bin/mysqld --basedir=/usr/local/mariamysql --datadir=/data/database --plugin-dir=/usr/local/mariamysql/lib/plugin --user=mysql --log-error=/data/database/zabbix_server.err --open-files-limit=40960 --pid-file=zabbix_server.pid --socket=/data/database/mysql.sock --port=3306

root     10391 17846  0 16:16 pts/0    00:00:00 grep mysql

[root@zabbix_server mariadb-5.5.31]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 41

Server version: 5.5.31-MariaDB-log MariaDB Server

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

This software comes with ABSOLUTELY NO WARRANTY. This is free software,

and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@zabbix ((none)) show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| zabbix |

+--------------------+

3 rows in set (0.00 sec)

root@zabbix ((none))

如何用mariadb创建数据库

全部删除MySQL/MariaDB
MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;
1、使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用rpm -e --nodeps mariadb-*全部删除:
2、使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;
添加MariaDB的yum源
1、创建 /etc/yum.repos.d/MariaDB.repo:
2、添加yum源,该文件中添加如图所示内容:
安装 MariaDB
运行yum install MariaDB-server MariaDB-client命令安装 MariaDB

启动、配置MariaDB
1、使用service mysql start命令启动MariaDB 服务
2、接着运行 mysql_secure_installation配置MariaDB:
登录 MariaDB 并创建相应的数据库用户与数据库
1、使用mysql -uroot -p登录,回车之后会提示输入密码。注意密码没有回显;
2、创建新用户,CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';其中$password填写自己设置的密码。当然后面也可以修改;
3、如下图执行相应命令,设置存储引擎、创建数据库、设置用户权限;
使用新用户连接数据库
执行mysql -u git -p -D gitlabhq_proction,回车之后会提示输入密码,填写之前创建用户设置的密码即可登录

如何用mariadb创建数据库

全部删除MySQL/MariaDB
MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;
1、使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用rpm -e --nodeps mariadb-*全部删除:
2、使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;
添加MariaDB的yum源
1、创建 /etc/yum.repos.d/MariaDB.repo:
2、添加yum源,该文件中添加如图所示内容:
安装 MariaDB
运行yum install MariaDB-server MariaDB-client命令安装 MariaDB

启动、配置MariaDB
1、使用service mysql start命令启动MariaDB 服务
2、接着运行 mysql_secure_installation配置MariaDB:
登录 MariaDB 并创建相应的数据库用户与数据库
1、使用mysql -uroot -p登录,回车之后会提示输入密码。注意密码没有回显;
2、创建新用户,CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';其中$password填写自己设置的密码。当然后面也可以修改;
3、如下图执行相应命令,设置存储引擎、创建数据库、设置用户权限;
使用新用户连接数据库
执行mysql -u git -p -D gitlabhq_proction,回车之后会提示输入密码,填写之前创建用户设置的密码即可登录

mariadb用的人多吗

多,可见,哪怕是现在,maria比之mysql也有很多的优势:

性能提升

2. 安全透明。(完全开源,开放,mariadb的商标属于maria基金会,以保障mariadb不会再次发生mysql这种事儿

3. 支持更多存储引擎。(nosql backend :cassandra )

4. mariadb galera cluster

同步复制真正的multi-master,即所有节点可以同时读写数据库。

自动的节点成员控制,失效节点自动被清除。

新节点加入数据自动复制;真正的并行复制,行级。

用户可以直接连接集群,使用感受上与mysql完全一致。

优势:

因为是多主,所以不存在slavelag(延迟);

不存在丢失事务的情况;同时具有读和写的扩展能力;

流年运程2022解读八字密码,分析命局喜忌,揭示您一生命运、事业财帛、情感婚恋以及未来发展

更小的客户端延迟;

节点间数据是同步的,而master/slave模式是异步的,不同slave上的binlog可能是不同的。

5. 与mysql完全兼容(至少是现在)。

风险评估。这是最现实的问题,如果数据迁移风险过大,或者迁移之后发现maria db上各种不适,将会对产品造成极大的伤害。值得庆幸的是,从maria db的官方blog上,我们看到mysql可以无缝迁移到maria的文章,还有mysql 与maria混用的相关实例。集群方面,maria采用的 galera cluster同样适用于mysql,应该不会有接入的风险。

当然,还有一个因素,就是尽早迁移会尽量降低复杂度,maria db与mysql未来肯定分道扬镳,兼容性会越来越差。

如何在Ubuntu上安装和使用MariaDB数据库

1、首先使用putty或者其他工具远程登录到你的ubuntu vps上去

2、如果尚且没有非root用户的管理员,那么输入adser marketing (marketing是我的用户名,换成你自己的),然后设置密码。

3、使用命令gpasswd -a marketing sudo 将marketing这个用户添加到管理员组 (自行将marketing换成你自己的用户名)

4、使用命令su username (注意:用你自己设定的用户名替换掉username,比如下图中,我的用户名为marketing,所以我输入的命令为su marketing)

5、在正式开始安装之前,请输入sudo apt-get update进行更新系统。这样做的好处是避免等会儿出现未知错误。

6、安装python语言解析包以及MariaDB数据库服务器等等。输入这条命令:sudo apt-get install python-pip python-dev mariadb-server libmariadbclient-dev libssl-dev ,输入之后,会问你是否进行安装,输入y并且回车。

7、安装途中,会要求你给MariaDB设立一个管理员密码。自行设置。回车之后,会要求你再输入一遍进行确认。设置完密码之后,窗口会变回黑色,继续安装过程。

8、输入sudo mysql_secure_installation进行数据库安全配置,输入刚才设置的密码 。

9、上一步里面的密码如果是正确的,就会返回下图的反馈,并且问你是否修改密码。输入n,回车。

10、除了让你改密码之外,还会给你其他一系列建议,包括是否移除匿名用户,是否禁止root用户远程访问、是否移除test数据库等等(下图高亮出了所有建议的命令,。一路输入y,回车。

11、数据库这就算是安装好。

Top