建议查看官方文档: MySQL官方文档
下载解压(略),本人用的解压版本
在安装目录下新建my.ini
命令mysqld --verbose --help
可以查看mysqld可用的配置
# my.ini文件
[client]
# 比如本机设置了root账号的密码后,使用mysql -u root 可以直接登录,不用再输入密码
password=""
[mysqld]
basedir=[安装根目录]
datadir=[安装根目录]/data
# 设置字符集,utf8mb4应该是MySQL5.7以上才支持的,具说MySQL的utf8不是真正的utf8,utf8mb4才是真正的utf8
character_set_server="utf8mb4"
# 排序规则集
# collation-server=utf8mb4_general_ci
collation-server=utf8mb4_0900_ai_ci
# 设置时区
default-time-zone="+8:00"
建议配置一下环境变量指向[安装根目录]/bin
初始化
初始化命令[安装根目录]/bin/mysqld --initialize
初始化完成后有一个初始密码,在data文件夹下的.err文件中
用root登录,并修改密码
[安装根目录]/bin/mysql -u root -p
登录后,修改账号密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
注册成服务
[安装根目录]/bin/mysqld --install
建数据库
CREATE DATABASE dbtest;
建账号
CREATE USER 'test'@'%' IDENTIFIED BY 'password';
授权
GRANT ALL ON dbtest.* TO 'test'@'%' WITH GRANT OPTION;
安全测评相关配置
# 空闲连接超时时间,分钟
interactive_timeout=60
wait_timeout=60;
# 密码过期策略,天
default_password_lifetime=90
# 密码重用策略,天
# 60天内不能修改成过去使用过的前6次密码
password_reuse_interval=60
password_history=6
# 密码验证策略,修改密码时验证旧密码
password_require_current=ON
# 设置密码强度,需要安装validate_password组件
# install component 'file://component_validate_password';
# 查看密码相关的配置
show variables like '%password%';
validate_password.check_user_name=ON
validate_password.policy=MEDIUM
# 密码长度
validate_password.length=8
# 必须包含1个大写和1个小写
validate_password.mixed_case_count=1
# 必须包含1个数字
validate_password.number_count=1
# 必须包含1个特殊字符
validate_password.special_char_count=1
# 登录失败锁定策略,需要安装connection_control插件
# install plugin connection_control soname 'connection_control';
# install plugin connection_control_failed_login_attempts soname 'connection_control';
# 查看登录失败锁定策略
show variables like '%connection_control%';
# 连续3次登录失败
connection_control_failed_connections_threshold=3
# 锁账号30分钟
connection_control_min_connection_delay=1800000