【MySQL数据库】mySQL 8.0.33安装指南

文章目录

  • 安装步骤
    • [1. 解压安装包](#1. 解压安装包)
    • [2. 移动解压后的文件夹](#2. 移动解压后的文件夹)
    • [3. 创建MySQL用户](#3. 创建MySQL用户)
    • [4. 设置权限](#4. 设置权限)
    • [5. 配置MySQL](#5. 配置MySQL)
    • [6. 设置环境变量](#6. 设置环境变量)
    • [7. 初始化数据库](#7. 初始化数据库)
    • [8. 设置系统服务](#8. 设置系统服务)
    • [9. 设置root密码](#9. 设置root密码)
    • [10. 登录MySQL并配置远程访问](#10. 登录MySQL并配置远程访问)
  • 注意

安装步骤

1. 解压安装包

bash 复制代码
tar -xf mysql-8.0.33-el7-x86_64.tar.gz

2. 移动解压后的文件夹

bash 复制代码
mv mysql-8.0.33-el7-x86_64 mysql
mv mysql /usr/local/

3. 创建MySQL用户

bash 复制代码
useradd -s /sbin/nologin mysql

4. 设置权限

bash 复制代码
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

5. 配置MySQL

编辑 /etc/my.cnf 文件,覆盖为以下配置(可以把原配置注释掉):

bash 复制代码
# 客户端配置
[client]
port = 3306                      # MySQL客户端连接的默认端口
socket=/usr/local/mysql/mysql.sock # MySQL客户端连接的socket文件路径

# MySQL服务器配置
[mysqld]
user = mysql                      # 运行MySQL服务的系统用户
basedir=/usr/local/mysql          # MySQL安装目录的路径
datadir=/usr/local/mysql/data     # MySQL数据文件的存储目录
port = 3306                      # MySQL服务器监听的端口号
character-set-server=utf8         # 服务器端默认字符集
pid-file = /usr/local/mysql/mysqld.pid # MySQL服务器进程ID文件的路径
socket=/usr/local/mysql/mysql.sock # MySQL服务器使用的socket文件路径
bind-address = 0.0.0.0           # MySQL服务器绑定的IP地址,0.0.0.0表示监听所有可用的网络接口
skip-name-resolve                # 禁用DNS解析,提高连接速度,但可能导致无法使用主机名连接
max_connections=2048             # 允许的最大并发连接数
default-storage-engine=INNODB    # 默认存储引擎,这里设置为InnoDB
max_allowed_packet=16M           # 允许的最大数据包大小,单位为字节
server-id = 1                    # MySQL复制中的唯一标识符,用于主从复制
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # SQL模式设置,定义了MySQL应如何处理SQL语句

6. 设置环境变量

bash 复制代码
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

7. 初始化数据库

bash 复制代码
cd /usr/local/mysql/bin/
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

8. 设置系统服务

bash 复制代码
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl daemon-reload
systemctl restart mysqld

9. 设置root密码

bash 复制代码
mysqladmin -u root password "123456"

10. 登录MySQL并配置远程访问

bash 复制代码
mysql -u root -p123456

在MySQL shell中执行:

sql 复制代码
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

注意

  • 安全性:在生产环境中,请务必设置强密码,并限制远程访问权限。
  • 防火墙:确保服务器的防火墙允许3306端口的流量。
  • SELinux:如果启用了SELinux,可能需要额外配置以允许MySQL的网络访问。
  • 备份:在修改配置或进行重要操作前,请务必备份数据库。
相关推荐
期待のcode2 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
AI浩4 小时前
【Labelme数据操作】LabelMe标注批量复制工具 - 完整教程
运维·服务器·前端
小萌新上大分5 小时前
mysql主从复制搭建
mysql·mysql主从复制·mysql主从复制配置·mysql主从复制的搭建·mysql主从复制的原理·mysql安装入门
安审若无5 小时前
oracel迁移数据文件至其他目录操作步骤
数据库
石像鬼₧魂石5 小时前
如何配置Fail2Ban的Jail?
linux·学习·ubuntu
sunxunyong5 小时前
doris运维命令
java·运维·数据库
Guheyunyi5 小时前
智慧消防管理系统如何重塑安全未来
大数据·运维·服务器·人工智能·安全
华仔啊5 小时前
这 10 个 MySQL 高级用法,让你的代码又快又好看
后端·mysql
小鸡吃米…5 小时前
Python PyQt6教程七-控件
数据库·python
椰子今天很可爱5 小时前
五种I/O模型与多路转接
linux·c语言·c++