MySQL安装与配置

学习MySQL环境搭建和配置优化

MySQL安装方法

MySQL提供了多种安装方式,可以根据您的操作系统和需求选择合适的安装方法。

Windows系统安装

Windows系统推荐使用MySQL Installer进行安装:

  1. 访问MySQL官网下载MySQL Installer
  2. 运行安装程序,选择"Developer Default"安装类型
  3. 按照向导完成安装过程
  4. 设置root用户密码
  5. 完成安装并启动MySQL服务

Linux系统安装

Linux系统可以使用包管理器安装MySQL:

Ubuntu/Debian:

终端命令
# 更新包列表
sudo apt update

# 安装MySQL服务器
sudo apt install mysql-server

# 运行安全安装脚本
sudo mysql_secure_installation

CentOS/RHEL:

终端命令
# 添加MySQL Yum仓库
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装MySQL服务器
sudo yum install mysql-community-server

# 启动MySQL服务
sudo systemctl start mysqld

# 查看临时root密码
sudo grep 'temporary password' /var/log/mysqld.log

macOS系统安装

macOS系统可以使用Homebrew或DMG安装包:

使用Homebrew:

终端命令
# 安装MySQL
brew install mysql

# 启动MySQL服务
brew services start mysql

# 运行安全安装脚本
mysql_secure_installation

MySQL配置优化

MySQL的配置文件通常位于:

  • Windows: my.ini
  • Linux/macOS: /etc/my.cnf/etc/mysql/my.cnf

常用配置参数

my.cnf 配置示例
[mysqld]
# 基本配置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# 连接配置
max_connections=100
connect_timeout=10
wait_timeout=600

# 内存配置
innodb_buffer_pool_size=1G
key_buffer_size=256M
query_cache_size=128M

# 日志配置
log-error=/var/log/mysqld.log
slow_query_log=1
slow_query_log_file=/var/log/mysql-slow.log
long_query_time=2

[mysql]
default-character-set=utf8mb4

[client]
default-character-set=utf8mb4

字符集配置

为了支持中文和特殊字符,建议使用utf8mb4字符集:

SQL命令
-- 查看当前字符集设置
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';

-- 设置数据库字符集
ALTER DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

用户和权限管理

创建用户

SQL命令
-- 创建新用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

-- 授予权限
GRANT ALL PRIVILEGES ON my_database.* TO 'newuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

常用权限管理命令

命令 描述
SHOW GRANTS FOR 'user'@'host'; 查看用户权限
REVOKE privilege ON database.table FROM 'user'@'host'; 撤销用户权限
DROP USER 'user'@'host'; 删除用户
ALTER USER 'user'@'host' IDENTIFIED BY 'new_password'; 修改用户密码
安全建议:生产环境中应使用强密码,并限制用户权限到最小必要范围。

服务管理

启动和停止MySQL服务

Windows:

命令提示符
# 启动MySQL服务
net start mysql

# 停止MySQL服务
net stop mysql

Linux/macOS:

终端命令
# 启动MySQL服务
sudo systemctl start mysqld

# 停止MySQL服务
sudo systemctl stop mysqld

# 重启MySQL服务
sudo systemctl restart mysqld

# 查看服务状态
sudo systemctl status mysqld

安装后的验证和测试

安装完成后,需要验证MySQL是否正常运行:

连接MySQL服务器

终端命令
# 连接到MySQL服务器
mysql -u root -p

# 输入密码后,进入MySQL命令行界面

基本测试命令

SQL命令
-- 查看MySQL版本
SELECT VERSION();

-- 显示所有数据库
SHOW DATABASES;

-- 创建测试数据库
CREATE DATABASE test_db;

-- 使用数据库
USE test_db;

-- 创建测试表
CREATE TABLE test_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 插入测试数据
INSERT INTO test_table (name) VALUES ('测试数据');

-- 查询数据
SELECT * FROM test_table;

常见安装问题解决

忘记root密码

如果忘记了MySQL root用户密码,可以按照以下步骤重置:

Windows系统:

  1. 停止MySQL服务
  2. 创建一个包含重置密码SQL语句的文本文件
  3. 使用--init-file选项启动MySQL服务
  4. 重启MySQL服务

Linux系统:

终端命令
# 停止MySQL服务
sudo systemctl stop mysql

# 以跳过权限表的方式启动MySQL
sudo mysqld_safe --skip-grant-tables &

# 连接到MySQL服务器
mysql -u root

# 在MySQL命令行中执行以下命令
USE mysql;
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

# 重启MySQL服务
sudo systemctl restart mysql

端口被占用

如果MySQL默认端口3306被占用,可以修改MySQL配置文件中的端口号:

my.cnf 配置
[mysqld]
port=3307
# 其他配置...

下一步学习

完成MySQL安装和配置后,您可以继续学习: