Debian 10上编译安装MariaDB 10.6.14详解

admin2023-10-29电脑应用浏览:122

MariaDB 10.6使用新的数据字典,废弃了MyISAM系统表。MySQL库元信息存储在数据目录中mysql.ibd的innodb表空间文件中。

新的数据字典支持原子DDL(atomic DDL)功能,这意味着,当执行DDL时,数据字典更新、存储引擎操作和二进制日志中的写入被组合成一个要么完全执行、要么不执行的单个原子事务。这提供了更好的可靠性,未完成的DDL不会留下任何不完整的数据。

比如当对大表做alter table modify变更时,kill -9 mysqld进程,在MariaDB 10.6之前的版本会留下临时数据文件(例#sql-22a4_17.ibd),而在MariaDB 10.6版本里将直接回滚掉。

下载 mariadb 并解压进入文件夹

wget -c https://archive.mariadb.org/mariadb-10.6.14/source/mariadb-10.6.14.tar.gz && tar -zxvf mariadb-10.6.14.tar.gz && cd mariadb-10.6.14

# 编译 mariadb 软件

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/usr/local/mariadb/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3506 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITHOUT_TOKUDB=1 2>&1 | tee /root/mariadb.log

# 编译参数说明

cmake

-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb [mariadb 安装的根目录]

-DMYSQL_DATADIR=/usr/local/mariadb/data [mariadb 数据保存目录]

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock [指定mysql.sock路径]

-DMYSQL_TCP_PORT=3306 [mariadb 指定TCP端口]

-DEXTRA_CHARSETS=all [启用额外字符集类型]

-DDEFAULT_CHARSET=utf8mb4 [指定默认字符集]

-DDEFAULT_COLLATION=utf8mb4_general_ci [设定默认排序规则]

-DWITH_READLINE=1 [使用readline功能,即方便在命令行复制、粘贴命令]

-DWITH_EMBEDDED_SERVER=1 [编译嵌入式服务器支持]

-DENABLED_LOCAL_INFILE=1 [允许从本地导入数据]

-DWITHOUT_TOKUDB=1 [不安裝tokudb引擎]

TokuDB存储引擎适用场景:

1. 如果你要存储blob,不要使用TokuDB,因为它限制记录不能太大

2. 如果你的记录数量过亿,使用TokuDB

3. 如果你注重update的性能,不要使用TokuDB,它没有Innodb快

4. 如果你要存储旧的记录,使用TokuDB

5. 如果你想要缩小数据占用的存储空间,使用TokuDB

热门文章