0%

MySQL安装

MySQL 全平台安装指南(Mac/Linux/Windows)

MySQL 是目前最流行的关系型数据库之一,其安装过程因操作系统而异。本文详细介绍 Mac、Linux、Windows 三大平台的安装步骤、配置方法及常用命令,帮助你快速搭建 MySQL 环境。

Mac 平台安装(Homebrew 方式)

Mac 推荐使用 Homebrew 安装,步骤简单且便于管理。

安装 MySQL

1
2
3
4
5
# 安装最新版本
brew install mysql

# 如需指定版本(如 8.0)
brew install mysql@8.0

启动 MySQL 服务

1
2
3
4
5
6
7
8
# 启动服务(后台运行)
mysql.server start

# 停止服务
mysql.server stop

# 重启服务
mysql.server restart

安全配置(首次安装必做)

1
2
# 执行安全脚本,设置密码、删除匿名用户等
mysql_secure_installation
  • 按提示设置 root 密码(推荐使用强密码)。
  • 选择是否禁止 root 远程登录(开发环境可允许,生产环境建议禁止)。
  • 删除匿名用户、测试数据库,最后选择 Y 重载权限表。

登录 MySQL

1
2
3
4
# 本地登录(默认端口 3306)
mysql -u root -p

# 输入步骤 3 中设置的密码,成功进入 MySQL 命令行

Linux 平台安装(源码包方式)

以 CentOS 为例,通过源码包安装(适合需要自定义配置的场景)。

下载并解压源码包

1
2
3
4
5
6
7
8
9
# 下载 MySQL 8.0 源码包(可从官网获取最新链接)
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz

# 解压到 /usr/local
tar -xvf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz -C /usr/local

# 重命名为 mysql
cd /usr/local
mv mysql-8.0.36-linux-glibc2.12-x86_64 mysql

配置用户与目录权限

1
2
3
4
5
6
7
8
9
10
# 创建 mysql 用户组和用户
groupadd mysql
useradd -r -g mysql mysql

# 创建数据目录
mkdir /usr/local/mysql/data

# 授权目录权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

初始化数据库

1
2
3
4
5
# 进入 bin 目录
cd /usr/local/mysql/bin

# 初始化(生成临时 root 密码,注意记录控制台输出的密码)
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

配置服务与软链接

1
2
3
4
5
# 创建服务软链接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# 创建命令软链接(方便全局使用 mysql 命令)
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

启动服务并修改密码

1
2
3
4
5
6
7
8
9
# 启动服务
service mysql start

# 登录(使用初始化时生成的临时密码)
mysql -u root -p

# 修改密码(进入 MySQL 命令行后执行)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

开启远程连接(可选)

1
2
3
4
-- 允许 root 用户远程登录(生产环境谨慎使用)
USE mysql;
UPDATE user SET Host = '%' WHERE User = 'root';
FLUSH PRIVILEGES;

Windows 平台安装(压缩包方式)

Windows 推荐使用压缩包安装(免安装版),步骤如下:

下载并解压

  • MySQL 官网 下载 Windows 压缩包(如 mysql-8.0.36-winx64.zip)。
  • 解压到自定义目录(如 D:\mysql-8.0.36-winx64)。

配置环境变量

  • 新增系统变量 MYSQL_HOME,值为解压目录(如 D:\mysql-8.0.36-winx64)。
  • Path 变量中添加 %MYSQL_HOME%\bin(确保命令行可直接调用 mysql)。

创建配置文件

在解压目录根目录创建 my.ini 文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
[mysqld]
# 安装目录
basedir = D:\mysql-8.0.36-winx64
# 数据目录(需手动创建 data 文件夹)
datadir = D:\mysql-8.0.36-winx64\data
# 端口号
port = 3306
# 字符集
character-set-server = utf8mb4
# 跳过密码登录(首次初始化用,后续需删除)
# skip-grant-tables

初始化与安装服务

  • 以管理员身份打开命令提示符(CMD):

    1
    2
    3
    4
    5
    6
    7
    8
    # 进入 bin 目录
    cd D:\mysql-8.0.36-winx64\bin

    # 初始化数据库(生成临时密码,记录在 data 目录下的 .err 文件中)
    mysqld --initialize --console

    # 安装 MySQL 服务
    mysqld --install

启动服务并登录

1
2
3
4
5
6
7
8
9
# 启动服务
net start mysql

# 登录(使用初始化时的临时密码)
mysql -u root -p

# 修改密码(进入 MySQL 命令行后)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

常见问题解决

  • 缺失 DLL 文件:下载 DirectX 修复工具 修复系统 DLL。
  • 服务安装失败:确保以管理员身份运行 CMD,且端口 3306 未被占用(可通过 netstat -ano | findstr 3306 检查)。

MySQL 核心配置文件(my.cnf/my.ini)

配置文件用于自定义 MySQL 服务的参数(如端口、字符集、连接数等),以下是常用配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[mysqld]
# 数据目录
datadir = /usr/local/mysql/data # Linux/Mac
# datadir = D:\mysql-8.0.36-winx64\data # Windows

# 端口号
port = 3306

# 字符集(支持表情符号)
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# 最大连接数(默认 151,根据内存调整)
max_connections = 500

# 表名是否区分大小写(0 区分,1 不区分,Linux 默认为 0,Windows 默认为 1)
lower_case_table_names = 0

# 慢查询日志(超过 2 秒的查询记录)
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 2

[mysql]
# 客户端默认字符集
default-character-set = utf8mb4

MySQL 常用命令

登录与退出

1
2
3
4
5
6
7
8
# 本地登录
mysql -u root -p

# 远程登录(指定主机和端口)
mysql -h 192.168.1.100 -P 3306 -u root -p

# 退出
exit 或 \q

数据库操作

1
2
3
4
5
6
7
8
9
10
11
-- 查看所有数据库
SHOW DATABASES;

-- 创建数据库
CREATE DATABASE mydb CHARACTER SET utf8mb4;

-- 使用数据库
USE mydb;

-- 删除数据库(谨慎操作)
DROP DATABASE mydb;

表操作

1
2
3
4
5
6
7
8
9
10
11
12
-- 查看当前库所有表
SHOW TABLES;

-- 查看表结构
DESCRIBE 表名;

-- 创建表(示例)
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

服务管理命令

1
2
3
4
5
6
# 查看服务状态(Linux/Mac)
service mysql status # Linux
mysqladmin -u root -p status # 通用

# 重启服务(Windows)
net stop mysql && net start mysql

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10