mariadb(数据库管理系统)
详情介绍
mariadb是MySQL的一个数据库管理系统分支,主要由开源社区在维护,采用GPL授权许可。mariadb的存在的目的就是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。同时MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。现实中甲骨文公司在收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。mariadb有着许多Mysql所没有的功能,包括线程池、组提交、非阻塞客户端库、微秒扩展和类型支持和全文搜索引擎等全新功能。
2、右击编辑
[client]
#password =
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8(这个需要自己添加)
3、添加目录(这里的目录是你的解压目录):
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir=E:/Softwear/mariadb-10.0.10-winx64 (这个需要自己添加)
datadir=E:/Softwear/mariadb-10.0.10-winx64/data (这个需要自己添加)
default-character-set=utf8 (这个需要自己添加)
default-storage-engine = MyISAM
4、在文件的最后在添加上:
[mysqlhotcopy]
interactive-timeout
[WinMySQLAdmin] (这个需要自己添加)
Server=E:\Softwear\mariadb-10.0.10-winx64\bin\mysqld.exe (这个需要自己添加)
5、单击文件——另存为——文件名为my.ini。将文件复制到C盘的system目录下即可
1、Maria 存储引擎
2、PBXT 存储引擎
3、XtraDB 存储引擎
4、FederatedX 存储引擎
5、更快的复制查询处理
6、线程池
7、更少的警告和bug
8、运行速度更快
9、更多的 Extensions (More index parts, new startup options etc)
10、更好的功能测试
11、数据表消除
12、慢查询日志的扩展统计
13、支持对Unicode的排序
1、thread pool 线程池
2、group commit 组提交
3、non blocking client library 非阻塞客户端库
4、Microsecond 微秒扩展和类型支持
5、sphinxse sphinxse全文搜索引擎
6、subquery optimization 子查询优化
7、GIS functionality 地理信息系统相关扩展
8、Segmented MyISAM keycache MyISAM索引缓存分离
9、Authentication Plugins授权插件
10、limit row examined limit行限制
11、Progress reporting 进程进度报告
12、handlesocket 存储引擎旁路查询
13、dynamic column 动态列
2、所有客户端API、协议和结构都是完全一致的
3、所有文件名、二进制、路径、端口等都是一致的
4、所有的MySQL连接器,比如PHP、Perl、Python、Java、.NET、MyODBC、Ruby以及MySQL C connector等在MariaDB中都保持不变
5、mysql-client包在MariaDB服务器中也能够正常运行
6、共享的客户端库与MySQL也是二进制兼容的
1.使用mysqladmin创建数据库
[root@test01 10.19.166.166 ~ ]
# mysqladmin -u root -p create testdb1
Enter password: // 此处填写MariaDB数据库的密码
[root@test01 10.19.166.166 ~ ]
# mysql
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
| testdb1 |<---创建的好的库
+--------------------+
2.登录MariaDB库创建
MariaDB [(none)]> create database testdb2;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
| testdb1 |
| testdb2 |<---创建好的库
+--------------------+
二、MariaDB删除数据库
1.使用mysqladmin删除数据库
[root@test01 10.19.166.166 ~ ]
# mysqladmin -u root -p drop testdb1
Enter password: //输入数据库密码
//执行完上面的删除命令后,会出现一个提示框,提示是否确认删除此数据库
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the ‘testdb1‘ database [y/N] y //删除
Database "testdb1" dropped
2.登录MariaDB库删除
MariaDB [(none)]> drop database testdb2;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show databases; //确认testdb2已被删除
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
+--------------------+
三、MariaDB选择数据库,查看选择库下面的所有表
MariaDB [(none)]> show databases; //查看所有库
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
+--------------------+
7 rows in set (0.00 sec)
MariaDB [(none)]> use mydb //选择mydb数据库
Database changed
MariaDB [mydb]> show tables; //查看mydb数据库下面所有表信息
+----------------+
| Tables_in_mydb |
+----------------+
| ssc |
| t1 |
| tb2 |
| tb4 |
| tb5 |
+----------------+
5 rows in set (0.00 sec)
二、mariadb> SHOW [SESSION] VARIABLES; 客户端变量,只对当前会话生效
注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效有些参数作用域是全局的,且不可改变;有些可以为每个用户提供单独的设置
三、修改服务器变量的值
1.全局:mariadb> SET GLOBAL system_varname=value
mariadb> SET @@global.system_varname=value
2.会话:mariadb> SET [SESSION] system_varname=value
例如:set global sql_mode=strict_trans_tables
3.常用MODE:TRADITIONAL, STRICT_TRANS_TABLES
sql_mode默认为空,建议开发人员将这个值设为严格模式,这样有些问题可以在数据库的设计和开发阶段就能发现,而如果在生产环境下运行数据库后发现这类问题,那么修改的代价将变得十分巨大
四、状态变量:用于保存mariadb运行中的统计数据的变量
mariadb> SHOW GLOBAL STATUS
mariadb> SHOW [SESSION] STATUS
五、如何获取程序默认使用的配置:
mysql --print-defaults(客户端)
mysqld --print-defaults(服务端)
六、mariadb查询执行路径
1.客户端发送一条查询给服务器
2.服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段
3.服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划
4.MariaDB根据优化器生成的执行计划,调用存储引擎的API来执行查询
5.将结果返回给客户端
mariadb配置教程
1、打开解压目录,然后找到my-large,my-medium,my-small这三个文件,根据你的电脑的配置进行选择,这里选择的是my-large文件2、右击编辑
[client]
#password =
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8(这个需要自己添加)
3、添加目录(这里的目录是你的解压目录):
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir=E:/Softwear/mariadb-10.0.10-winx64 (这个需要自己添加)
datadir=E:/Softwear/mariadb-10.0.10-winx64/data (这个需要自己添加)
default-character-set=utf8 (这个需要自己添加)
default-storage-engine = MyISAM
4、在文件的最后在添加上:
[mysqlhotcopy]
interactive-timeout
[WinMySQLAdmin] (这个需要自己添加)
Server=E:\Softwear\mariadb-10.0.10-winx64\bin\mysqld.exe (这个需要自己添加)
5、单击文件——另存为——文件名为my.ini。将文件复制到C盘的system目录下即可
mariadb mysql区别
据了解到,mariadb 10.0大致相当于MySQL 5.6版本,是一个采用Aria存储引擎的MySQL分支版本,与MySQL相比较,mariadb更强的地方在于:1、Maria 存储引擎
2、PBXT 存储引擎
3、XtraDB 存储引擎
4、FederatedX 存储引擎
5、更快的复制查询处理
6、线程池
7、更少的警告和bug
8、运行速度更快
9、更多的 Extensions (More index parts, new startup options etc)
10、更好的功能测试
11、数据表消除
12、慢查询日志的扩展统计
13、支持对Unicode的排序
mariadb新功能
MariaDB5.5有,而MySQL5.6没有的功能包括:1、thread pool 线程池
2、group commit 组提交
3、non blocking client library 非阻塞客户端库
4、Microsecond 微秒扩展和类型支持
5、sphinxse sphinxse全文搜索引擎
6、subquery optimization 子查询优化
7、GIS functionality 地理信息系统相关扩展
8、Segmented MyISAM keycache MyISAM索引缓存分离
9、Authentication Plugins授权插件
10、limit row examined limit行限制
11、Progress reporting 进程进度报告
12、handlesocket 存储引擎旁路查询
13、dynamic column 动态列
软件特点
1、数据和表定义文件(.frm)是二进制兼容的2、所有客户端API、协议和结构都是完全一致的
3、所有文件名、二进制、路径、端口等都是一致的
4、所有的MySQL连接器,比如PHP、Perl、Python、Java、.NET、MyODBC、Ruby以及MySQL C connector等在MariaDB中都保持不变
5、mysql-client包在MariaDB服务器中也能够正常运行
6、共享的客户端库与MySQL也是二进制兼容的
mariadb使用方法
一、MariaDB创建数据库1.使用mysqladmin创建数据库
[root@test01 10.19.166.166 ~ ]
# mysqladmin -u root -p create testdb1
Enter password: // 此处填写MariaDB数据库的密码
[root@test01 10.19.166.166 ~ ]
# mysql
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
| testdb1 |<---创建的好的库
+--------------------+
2.登录MariaDB库创建
MariaDB [(none)]> create database testdb2;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
| testdb1 |
| testdb2 |<---创建好的库
+--------------------+
二、MariaDB删除数据库
1.使用mysqladmin删除数据库
[root@test01 10.19.166.166 ~ ]
# mysqladmin -u root -p drop testdb1
Enter password: //输入数据库密码
//执行完上面的删除命令后,会出现一个提示框,提示是否确认删除此数据库
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the ‘testdb1‘ database [y/N] y //删除
Database "testdb1" dropped
2.登录MariaDB库删除
MariaDB [(none)]> drop database testdb2;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show databases; //确认testdb2已被删除
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
+--------------------+
三、MariaDB选择数据库,查看选择库下面的所有表
MariaDB [(none)]> show databases; //查看所有库
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mydb |
| mysql |
| performance_schema |
| test |
| testdb |
+--------------------+
7 rows in set (0.00 sec)
MariaDB [(none)]> use mydb //选择mydb数据库
Database changed
MariaDB [mydb]> show tables; //查看mydb数据库下面所有表信息
+----------------+
| Tables_in_mydb |
+----------------+
| ssc |
| t1 |
| tb2 |
| tb4 |
| tb5 |
+----------------+
5 rows in set (0.00 sec)
MariaDB命令
一、mariadb> SHOW GLOBAL VARIABLES; 全局变量影响服务器的全局操作二、mariadb> SHOW [SESSION] VARIABLES; 客户端变量,只对当前会话生效
注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效有些参数作用域是全局的,且不可改变;有些可以为每个用户提供单独的设置
三、修改服务器变量的值
1.全局:mariadb> SET GLOBAL system_varname=value
mariadb> SET @@global.system_varname=value
2.会话:mariadb> SET [SESSION] system_varname=value
例如:set global sql_mode=strict_trans_tables
3.常用MODE:TRADITIONAL, STRICT_TRANS_TABLES
sql_mode默认为空,建议开发人员将这个值设为严格模式,这样有些问题可以在数据库的设计和开发阶段就能发现,而如果在生产环境下运行数据库后发现这类问题,那么修改的代价将变得十分巨大
四、状态变量:用于保存mariadb运行中的统计数据的变量
mariadb> SHOW GLOBAL STATUS
mariadb> SHOW [SESSION] STATUS
五、如何获取程序默认使用的配置:
mysql --print-defaults(客户端)
mysqld --print-defaults(服务端)
六、mariadb查询执行路径
1.客户端发送一条查询给服务器
2.服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段
3.服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划
4.MariaDB根据优化器生成的执行计划,调用存储引擎的API来执行查询
5.将结果返回给客户端
同类软件
网友评论
共0条评论(您的评论需要经过审核才能显示)
类似软件
-
sql server 2012官方版 数据库类 / 2.84G
-
sql server 2005官方版 数据库类 / 1.84G
-
oracle数据库 v21c官方版 数据库类 / 1.83G
-
Microsoft Access 2019中文版 完整版 数据库类 / 9.85M
-
Navicat for MariaDB官方版 v17.1.11 数据库类 / 88.64M
精彩发现
换一换精品推荐
-
MS SQL Maestro电脑版 v23.7 数据库类 / 13.59M
查看 - 查看
-
exportizer pro中文版 v8.3.8 数据库类 / 6.2M
查看
专题推荐
本类排行
月排行总排行