数据库服务的初始化配置操作的目的,主要是在某些场景下,想让数据库服务程序启动后,具备一些定制化的功能应用;

初始化配置有三种方式:

1. 利用编译安装过程实现配置

数据库服务源码安装准备阶段:

# 下载数据库服务软件程序(源码程序)
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.12.tar.gz
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.12.tar.gz
-- 下载链接地址:https://dev.mysql.com/downloads/mysql/
​
# 处理数据库服务软件依赖
yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
​
# 解压数据库服务软件程序
tar xf mysql-8.0.12.tar.gz
tar zxf mysql-boost-8.0.12.tar.gz -C /usr/local/

数据库服务源码安装环境创建:

# 创建数据库服务管理用户
useradd mysql -s /sbin/nologin

# 创建数据库服务所需目录
mkdir -p /usr/local/mysql8.0     -- 数据库服务程序数据存储目录
mkdir -p /data/mysql8.0/log      -- 数据库服务日志存储目录

chown -R mysql:mysql /data/mysql8.0/
chown -R mysql:mysql /usr/local/mysql8.0

数据库服务源码编译安装过程:

# 数据库服务编译安装配置过程(初始化过程)
cd /usr/local/src/mysql-8.0.12
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql8.0 -DMYSQL_DATADIR=/usr/local/mysql/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/mysql-8.0.12/ -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DTRACE=0 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8mb4

# 数据库服务编译安装部署过程
make && make install 

数据库服务源码程序启动配置:

vim /etc/my.cnf
... 部分信息省略 ...

更详细数据库服务源码部署安装过程参考链接:http://www.hzhcontrols.com/new-641636.html

2. 修改数据库配置文件

# 修改数据库配置文件参数,定义数据库服务功能
vim /etc/my.conf       # 默认位置

配置文件加载应用读取顺序:

# 通过数据库服务启动命令获取加载文件顺序
mysqld --help --verbose|grep my.cnf
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 

# 数据库服务加载默认配置文件顺序:
/etc/my.cnf -->  /etc/mysql/my.cnf --> /usr/local/mysql/etc/my.cnf --> ~/.my.cnf 
  
# 数据库服务加载特定路径中的配置文件信息
配置文件指定路径举例:/opt/my.cnf, /data/3306/my.cnf, /data/3307/my.cnf, /data/3308/my.cnf
mysqld --defaults-file=/opt/my.cnf &
mysqld_safe --defaults-file=/opt/my.cnf &
-- 利用启动脚本加载参数信息,手工指定加载配置文件的路径位置信息

配置文件书写格式规范说明:

# 配置文件模板信息参考
cat /etc/my.cnf    
[mysql]                 -- 获取全部配置参数 mysql --verbose --help
socket=/tmp/mysql.sock
[mysqld]                -- 获取全部配置参数 mysqld --verbose --help
port=3306
server_id=6
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock

服务端常见标签类型:[mysqld]  [mysql_safe]  --[server]集合汇总
客户端常用标签类型:[mysql] [mysqldump] --[client]集合汇总

配置文件信息结构说明:

序号配置部分配置信息说明
01带有[]部分表示配置标签部分,用于区分不同程序运行的参数,包含服务器端和客户端标签信息
[服务端标签]负责数据库服务端运行参数信息设定
[客户端标签]影响客户端与服务连接参数信息设定(只影响本地客户端连接,不影响远程客户端连接)
02不带[]部分表示配置参数部分

配置文件信息内容说明:

序号配置信息解释说明
[mysqld]服务端配置标签
01user=mysql表示数据库服务管理用户信息
02basedir=/usr/local/mysql表示数据库服务程序安装路径
03datadir=/data/3306/data表示数据库服务数据存储路径
04server_id=6表述数据库服务标识节点编号(主从复制的唯一编号)
05port=3306表示数据库服务启动端口设定
06socket=/tmp/mysql.sock表示数据库服务本地连接文件(套接字文件)
07default_authentication_plugin=mysql_native_password表示数据库服务加密插件设定,用于向下兼容
[mysql]客户端配置标签(本地连接数据库生效)
01socket=/tmp/mysql.sock表示数据库服务本地连接文件(套接字文件)

3. 利用启动命令参数实现配置功能

# 利用数据库服务命令启动服务加参数信息,完成初始化定制操作
mysqld_safe --skip-grant-tables --skip-networking &

说明:在命令加参数信息完成的初始化过程,是会优于配置文件中加载的配置参数信息