MariaDB 10.6.5配置及运行
1 安装及运行
mariadb的配置可以从各个官方包中去提取。同时服务运行前,需要首先做一下数据初始化。
1.1 创建系统用户
两条命令分别创建用户、及用户组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
1.2 创建目录并授权
需要创建两个目录:unix socket文件目录、数据库数据文件目录。
分别类似:/data/app/run/mysqld/(默认为/run/mysqld/)与/data/mariadb_data(默认为/var/lib/mysql)
两个目录创建后修改归属用户、归属用户组为上面创建的mysql用户。
sudo chown -R mysql:mysql /data/app/run/mysqld
sudo chown -R mysql:mysql /data/mariadb_data
1.3 初始化数据目录
其中user为运行服务的用户名,basedir为mariadb安装的目录(编译时CMAKE_INSTALL_PREFIX指定的目录),datadir为数据文件所在路径(编译时MYSQL_DATADIR指定的目录)
mariadb-install-db --user=mysql --basedir=/data/app --datadir=/data/mariadb_data
2 内存优化
由于mariadb的运行环境内存不足(512M,还会被多个服务占用,实际能用的不到128M),因此数据库的配置需要进一步调优
2.1 server.cnf配置优化
# this is only for the mysqld standalone daemon
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
table_open_cache=32
table_definition_cache=50
#如果查询的表更新比较频繁,而且很少有相同的查询,最好不要使用查询缓存。因为这样会消耗很大的系统性能还没有任何的效果
query_cache_type=0
query_cache_size=0
#最大连接数
max_connections=2
# shared
#保持8M MyISAM索引用
key_buffer_size=8M
#DB专用mem*50%,非DB专用mem*15%到25%
innodb_buffer_pool_size=32M
myisam_sort_buffer_size=16M
# 禁止监听网络地址
skip-networking
随后,即可用systemctl start/stop mariadb来启停数据库服务,使用systemctl status mariadb查看服务启动情况。