数据库服务的初始化配置操作的目的,主要是在某些场景下,想让数据库服务程序启动后,具备一些定制化的功能应用;
初始化配置有三种方式:
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] | 服务端配置标签 | |
| 01 | user=mysql | 表示数据库服务管理用户信息 |
| 02 | basedir=/usr/local/mysql | 表示数据库服务程序安装路径 |
| 03 | datadir=/data/3306/data | 表示数据库服务数据存储路径 |
| 04 | server_id=6 | 表述数据库服务标识节点编号(主从复制的唯一编号) |
| 05 | port=3306 | 表示数据库服务启动端口设定 |
| 06 | socket=/tmp/mysql.sock | 表示数据库服务本地连接文件(套接字文件) |
| 07 | default_authentication_plugin=mysql_native_password | 表示数据库服务加密插件设定,用于向下兼容 |
| [mysql] | 客户端配置标签(本地连接数据库生效) | |
| 01 | socket=/tmp/mysql.sock | 表示数据库服务本地连接文件(套接字文件) |
3. 利用启动命令参数实现配置功能
# 利用数据库服务命令启动服务加参数信息,完成初始化定制操作
mysqld_safe --skip-grant-tables --skip-networking &
说明:在命令加参数信息完成的初始化过程,是会优于配置文件中加载的配置参数信息