MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,10.0.9版起使用 XtraDB(名称代号为 Aria)来代替MySQL的 InnoDB。
MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。
MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。
从2012年11月12日起释出的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。
版本 | 原始发布日期 | 最新版本 | 发布日期 | 状态 |
---|---|---|---|---|
5.1 | 2009-10-29[5] | 5.1.67 | 2013-01-30[6] | Stable (GA) |
5.2 | 2010-04-10[7] | 5.2.14 | 2013-01-30[8] | Stable (GA) |
5.3 | 2011-07-26[9] | 5.3.12 | 2013-01-30[10] | Stable (GA) |
5.5 | 2012-02-25[11] | 5.5.48 | 2016-02-11[12] | Stable (GA) |
10.0 | 2012-11-12[13] | 10.0.24 | 2016-02-19[14] | Stable (GA) |
10.1 | 2014-06-30[15] | 10.1.13 | 2016-03-25[16] | Stable (GA) |
10.2 | 2016-04-18[17] | 10.2.6 | 2017-05-23[18] | Stable (GA) |
10.3 | 2017-04-16[19] | 10.3.0 | 2017-04-16[20] | Alpha |
格式: 旧版本 旧版本,仍被支持 当前版本 最新的预览版 |
包括 Google、Mozilla基金会、OpenBSD、Red Hat Enterprise Linux、维基媒体基金会等机构都已经加入到支持 MariaDB 的阵营。
以上信息来自维基百科 https://zh.wikipedia.org/zh-hans/MariaDB
MariaDB http://mariadb.org https://downloads.mariadb.org/
File Name | Package Type | OS / CPU | Size | Meta |
---|---|---|---|---|
Galera 25.3.23 source and packages | Source | |||
For best results with RPM and DEB packages, use the Repository Configuration Tool. |
||||
mariadb-10.3.9.tar.gz | source tar.gz file | Source | 72.2 MB | Checksum Instructions |
mariadb-10.3.9-winx64.zip | ZIP file | Windows x86_64 | 200.3 MB | Checksum Instructions |
mariadb-10.3.9-winx64.msi | MSI Package | Windows x86_64 | 55.8 MB | Checksum Instructions |
mariadb-10.3.9-win32.msi | MSI Package | Windows x86 | 50.6 MB | Checksum Instructions |
mariadb-10.3.9-win32.zip | ZIP file | Windows x86 | 163.0 MB | Checksum Instructions |
mariadb-10.3.9-linux-systemd-x86_64.tar.gz (for systems with systemd) | gzipped tar file | Linux x86_64 | 892.7 MB | Checksum Instructions |
mariadb-10.3.9-linux-glibc_214-x86_64.tar.gz (requires GLIBC_2.14+) | gzipped tar file | Linux x86_64 | 740.6 MB | Checksum Instructions |
mariadb-10.3.9-linux-x86_64.tar.gz | gzipped tar file | Linux x86_64 | 744.5 MB | Checksum Instructions |
mariadb-10.3.9-linux-glibc_214-i686.tar.gz (requires GLIBC_2.14+) | gzipped tar file | Linux x86 | 689.9 MB | Checksum Instructions |
mariadb-10.3.9-linux-i686.tar.gz | gzipped tar file | Linux x86 | 568.7 MB | Checksum Instructions |
mariadb-10.3.9-linux-systemd-i686.tar.gz (for systems with systemd) | gzipped tar file | Linux x86 | 736.9 MB | Checksum Instructions |
Debian and Ubuntu Packages | DEB Package | Debian/Ubuntu (x86, x86_64, ppc64el) | Instructions | |
For best results with DEB packages, use the Repository Configuration Tool. |
||||
Red Hat, Fedora, and CentOS Packages | RPM Package | RedHat/CentOS/Fedora (x86, x86_64, ppc64, ppc64le) | Instructions | |
For best results with RPM packages, use the Repository Configuration Tool. |
如果不想安装,可以下载 mariadb-10.2.10-winx64.zip 免安装版,如果下载 MSI 版以下内容可以忽略。
解压到磁盘 D:\mariadb\10.2.10
创建一个批处理 install.bat 用于将 MariaDB 安装为服务
::指定创建服务的程序
@set mysql_service="d:\mariadb\10.2.10\bin\mysqld.exe"
::设置服务名
@set service_name="MariaDB.10"
::开始安装Mariadb服务
%mysql_service% --install %service_name% --defaults-file="d:\mariadb\10.2.10\my-medium.ini"
pause
顺便再创建一个移除服务的批处理 uninstall.bat
@set mysql_service="d:\mariadb\10.2.10\bin\mysqld"
@set service_name="MariaDB.10"
:: 卸载服务
%mysql_service% --remove %service_name%
pause
d:\mariadb\10.2.10 目录内有几个 ini 文件,这里使用 my-medium.ini 作为服务端的配置,根据需求的不同,还可以选择 my-small.ini 轻量化配置,或者 my-large.ini 以强化性能。
批处理创建好以后,直接运行 install.bat,出现这个则表示安装成功。
进入 service 可以看到 MariaDB.10
单击运行,如果一切正常,则启动成功。
实际上,到此,都不必对 MariaDB 进行任何配置,Windows 就算安装成功了。
维护的话,目前和 MySQL 的 mysql.exe 维护命令完全一样。
默认密码为空,直接回车就行。
MariaDB 所支持的字符集
Charset | Description | Default collation | Maxlen |
---|---|---|---|
big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
dec8 | DEC West European | dec8_swedish_ci | 1 |
cp850 | DOS West European | cp850_general_ci | 1 |
hp8 | HP West European | hp8_english_ci | 1 |
koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
latin1 | cp1252 West European | latin1_swedish_ci | 1 |
latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
ascii | US ASCII | ascii_general_ci | 1 |
ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
tis620 | TIS620 Thai | tis620_thai_ci | 1 |
euckr | EUC-KR Korean | euckr_korean_ci | 2 |
koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
greek | ISO 8859-7 Greek | greek_general_ci | 1 |
cp1250 | Windows Central European | cp1250_general_ci | 1 |
gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
cp866 | DOS Russian | cp866_general_ci | 1 |
keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
macce | Mac Central European | macce_general_ci | 1 |
macroman | Mac West European | macroman_general_ci | 1 |
cp852 | DOS Central European | cp852_general_ci | 1 |
latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 |
cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
utf16 | UTF-16 Unicode | utf16_general_ci | 4 |
utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 |
cp1256 | Windows Arabic | cp1256_general_ci | 1 |
cp1257 | Windows Baltic | cp1257_general_ci | 1 |
utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
binary | Binary pseudo charset | binary | 1 |
geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
没有配置 utf8mb4 前,默认是 gbk 和拉丁字符集,用 show variables like 'character%'; 命令查看。
设置 utf8mb4,打开配置文件 my-medium.ini,找到下面相应的节点,添加相应的内容
[client]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake = false
character_set_server = utf8mb4
character_set_filesystem = binary
character_set_client = utf8mb4
collation_server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[mysqldump]
character_set_client=utf8mb
[mysql]
default-character-set=utf8mb4
现在可以正确处理中文了。
这里要解释一下 utf8mb4 和 utf8 的区别,MySQL 或者 MariaDB 都支持 utf8,但早期的 utf8 为了在性能上取得平衡,其 utf8 只有 3 个字节,并非标准的 4 字节,如果继续使用 3 字节非标准的 utf8,那么移动设备上的很多符号将无法正常显示,且还会导致执行 SQL 时异常,所以新版本的 MySQL 和 MariaDB 引入新的编码格式 utf8mb4 真正支持标准的 UTF-8,幸好 utf8mb4 是 utf8 的超集,所以各位同学应该避免在 MariaDB 或者 MySQL 中 使用 utf8 而应该选择 utf8mb4 确保更高的兼容性。
向配置文件中添加以下其中一行,选择你的表明配置,这里这里的大小写仅仅是显示,查询是不区分。
# 不区分大小写
lower_case_table_names = 1
# 区分大小写
lower_case_table_names = 2
mysqladmin 命令
修改 root 的密码为 123456 则输入,之后会提示输入原密码,然后回车即可。
mysqladmin -u root -p password 123456
以 root 登录 mysql
# mysql -u root -p
允许 root 账号从 10.0.0.2 IP 访问,并设置密码为 123456
mysql>grant all privileges on *.* to 'root'@'10.0.0.2' identified by '123456' with grant option;
mysql>flush privileges;
让 root 账号可以被远程访问,并设置密码 123456
mysql>grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql>flush privileges;
修改密码方法 1,基本方法
mysql>set password =password('newpassword');
mysql>flush privileges;
修改 root 的 localhost 的密码方法, 2,使用 grant 语句
mysql>grant all on *.* to 'root'@'localhost' identified by 'newpassword' with grant option;
mysql>flush privileges;
修改方法3
mysql>grant all on mysql.* to root@'%' identified by '123456';
mysql>flush privileges;
设置 root 密码为 123456;
https://blog.inull.net
Q群讨论 236201801