安装部署
RHEL
在线安装
镜像源
bash
# 安装官方镜像源
sudo yum install -y https://repo.mysql.com//mysql84-community-release-el9-1.noarch.rpm
sudo yum install -y https://repo.mysql.com//mysql84-community-release-el8-1.noarch.rpm
sudo yum install -y https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
# 卸载镜像源
yum -y remove mysql84-community-release
yum -y remove mysql80-community-release
替换镜像源
可选,当前貌似有问题
bash
# 替换网易镜像源
sed -i 's#https://repo.mysql.com/yum#https://mirrors.163.com/mysql/yum#g' /etc/yum.repos.d/mysql-community.repo
sed -i 's#https://repo.mysql.com/yum#https://mirrors.163.com/mysql/yum#g' /etc/yum.repos.d/mysql-community-source.repo
sed -i 's#https://repo.mysql.com/yum#https://mirrors.163.com/mysql/yum#g' /etc/yum.repos.d/mysql-community-debuginfo.repo
清理更新缓存
bash
sudo yum clean all && sudo yum makecache && sudo yum repolist
禁用系统默认模块
bash
sudo yum module disable mysql
查看当前已经安装模块
bash
sudo yum repolist all | grep mysql
启用指定模块
bash
# 启用长期支持版本
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --disable mysql-connectors-community
sudo yum-config-manager --disable mysql-innovation-community
sudo yum-config-manager --disable mysql-tools-community
sudo yum-config-manager --enable mysql-8.4-lts-community
sudo yum-config-manager --enable mysql-tools-8.4-lts-community
# 启用创新版本
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --disable mysql-8.4-lts-community
sudo yum-config-manager --disable mysql-tools-8.4-lts-community
sudo yum-config-manager --enable mysql-innovation-community
# 启用传统版本
sudo yum-config-manager --disable mysql-connectors-community
sudo yum-config-manager --disable mysql-innovation-community
sudo yum-config-manager --disable mysql-tools-community
sudo yum-config-manager --disable mysql-8.4-lts-community
sudo yum-config-manager --disable mysql-tools-8.4-lts-community
sudo yum-config-manager --enable mysql80-community
安装
bash
sudo yum install mysql-community-server
手工安装
把下载回来的压缩包上传到服务器临时目录下,解压缩后逐一安装。
bash
# 解压缩
tar xvf mysql-8.4.1-1.el9.x86_64.rpm-bundle.tar
# 安装
yum install -y mysql-community-common-8.4.1-1.el9.x86_64.rpm
yum install -y mysql-community-client-plugins-8.4.1-1.el9.x86_64.rpm
yum install -y mysql-community-libs-8.4.1-1.el9.x86_64.rpm
yum install -y mysql-community-client-8.4.1-1.el9.x86_64.rpm
yum install -y mysql-community-icu-data-files-8.4.1-1.el9.x86_64.rpm
yum install -y mysql-community-server-8.4.1-1.el9.x86_64.rpm
安装目录
|---data --
|---|---app -- 应用目录
|---|---|---data -- 数据目录
|---|---|---|---mysql -- MySQL
|---|---|---|---|---data -- MySQL数据目录
|---|---|---|---|---logs -- MySQL日志目录
|---|---|---temp -- 临时目录
初始化
初始化数据目录并授权。
bash
# 新建数据目录和日志目录
mkdir -p /data/app/data/mysql/data
mkdir -p /data/app/data/mysql/logs
# 创建日志文件,这一步非必须
touch /data/app/data/mysql/logs/mysql.log
touch /data/app/data/mysql/logs/mysql-slow.log
# 赋予目录权限
sudo chown -R mysql.mysql /data/app/data/mysql/
打开配置文件
bash
sudo mv /etc/my.cnf /etc/my.cnf.bak
sudo touch /etc/my.cnf
sudo vi /etc/my.cnf
编辑内容如下
bash
[mysqld]
# 端口
port=3306
# 安装目录和数据目录
# basedir=/data/app/tools/mysql/server
datadir=/data/app/data/mysql/data
# 表名不区分大小写
lower_case_table_names=1
# 编码
character-set-server=utf8mb4
# 字符集
collation-server=utf8mb4_0900_ai_ci
# 指定时区
default-time-zone='+8:00'
# 最大连接数
max_connections=128
# 错误日志
log-error=/data/app/data/mysql/logs/mysql.log
# 慢查询
# 开启慢查询日志
slow-query-log=on
# 慢查询日志路径
slow_query_log_file=/data/app/data/mysql/logs/mysql-slow.log
# 修改为记录5秒内的查询,默认为记录10秒内的查询
long_query_time=5
# 记录未使用索引的查询
log-queries-not-using-indexes=on
#
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
[mysqldump]
max_allowed_packet=8M
启动服务
bash
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service
sudo systemctl stop mysqld.service
sudo systemctl restart mysqld.service
sudo systemctl disable mysqld.service
sudo systemctl status mysqld.service
sudo systemctl daemon-reload
修改默认密码
数据库启动初始化完成后,会生成一个临时的密码保存在/var/log/mysqld.log的日志文件里面。 所以第一次登录时需要查到这个临时密码,并使用临时密码登录后修改初始密码。
bash
# 自定义目录,按上面配置文件,需要从这里查找初始密码
grep 'temporary password' /data/app/data/mysql/logs/mysql.log
# 默认目录
grep 'temporary password' /var/log/mysqld.log
#
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@007';
Windows
安装目录
bash
|---D --
|---|---Tools --
|---|---|---MySQL -- MySQL目录
|---|---|---|---Server -- MySQL安装目录
|---|---|---|---Data -- MySQL数据目录
|---|---|---|---Logs -- MySQL日志目录
|---|---|---|---my.ini -- 配置文件
|---|---|---temp -- 临时目录
把绿色安装包解压缩到安装目录下,新建配置文件,内容参考如下
bash
[mysqld]
# 端口
port=3306
# 安装目录和数据目录
basedir=D:\Tools\MySQL\Server
datadir=D:\Tools\MySQL\Data
# 表名不区分大小写
lower_case_table_names=1
# 编码
character-set-server=utf8mb4
# 字符集
collation-server=utf8mb4_0900_ai_ci
# 指定时区
default-time-zone='+8:00'
# 启用传统密码策略认证
mysql_native_password=ON
# 错误日志
log-error=D:\Tools\MySQL\Logs\mysql.log
# 慢查询
# 开启慢查询日志
slow-query-log=on
# 慢查询日志路径
slow_query_log_file=D:\Tools\MySQL\Logs\mysql-slow.log
# 修改为记录5秒内的查询,默认为记录10秒内的查询
long_query_time=5
# 记录未使用索引的查询
log-queries-not-using-indexes=on
[mysqldump]
max_allowed_packet=8M
执行下面命令完成安装和系统服务配置
bash
# 初始化数据库
mysqld --initialize-insecure --datadir=D:\Tools\MySQL\Data
# 安装系统服务
mysqld --install MySQL --defaults-file=D:\Tools\MySQL\my.ini
# 手工启动服务
mysqld --defaults-file=D:\Tools\MySQL\my.ini
# 移除系统服务
mysqld –remove MySQL
# 启动
net start MySQL
# 停止
net stop MySQL
服务启动后,可以直接连,默认账号密码为空,这点跟RHEL有区别。