Skip to content

安装部署

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有区别。

MacOS