Windows 下 MariaDB (zip 免安装) 的手动安装与使用
阅读原文时间:2021年04月21日阅读:1

介绍

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 维护命令完全一样。

默认密码为空,直接回车就行。

UTF8设置

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=utf8mb4

[mysql]
default-character-set=utf8mb4

保存后,重启 MariaDB 服务端,查看环境。

现在可以正确处理中文了。

这里要解释一下 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