致敬读者
博主相关
文章前言
核心目标: 在你的计算机上成功安装 MySQL 服务器软件,并进行基本配置,使其能够运行、接受连接并确保安全。
.msi
安装程序, macOS 的 .dmg
, Linux 的 .rpm
或 .deb
包)。apt-get
for Ubuntu/Debian, yum
/dnf
for CentOS/RedHat/Fedora, brew
for macOS)。这是 Linux 上最便捷的方式。https://dev.mysql.com/downloads/mysql/
mysql-installer-community-..msi
或 .dmg
)。.rpm
或 .deb
包,也在此页面查找。.msi
文件。mysql
命令行客户端)。Developer Default
或 Server only
。Developer Default
或 Full
且未预先下载所有组件,安装程序会联网下载所需文件。Development Computer
: 开发环境,占用较少资源。Server Computer
: 服务器环境,占用更多资源优化性能。Dedicated Computer
: 专用数据库服务器,分配所有可用资源。Development Computer
。Use Strong Password Encryption for Authentication (RECOMMENDED)
: 使用强密码加密(caching_sha2_password
),安全性高,是 MySQL 8.0 的默认方式。推荐选择此项。Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)
: 使用旧式密码认证(mysql_native_password
),兼容旧客户端。除非有特定兼容需求,否则不建议。root
设置一个强密码(包含大小写字母、数字、特殊符号)。务必牢记此密码!MySQL80
)。Execute
应用配置设置。配置工具会初始化数据目录、创建系统表、设置 root 密码、启动 MySQL 服务等。Finish
。MySQL 服务器应已安装并运行在你的 Windows 上。sudo apt update
sudo apt install mysql-server
root
用户的密码。请设置强密码并牢记。sudo mysql_secure_installation
VALIDATE PASSWORD
组件?(可选,用于设置密码强度策略)root
用户设置密码(如果安装时未设置或需要修改)。Y
)root
用户远程登录?(强烈建议输入 Y
,生产环境 root 应仅限本地登录)test
?(强烈建议输入 Y
)Y
)sudo systemctl status mysql.service
active (running)
。.dmg
文件,然后双击里面的 .pkg
安装包。mysql
, mysqladmin
等命令,需要将 MySQL 的 bin
目录添加到系统的 PATH
环境变量中。
/usr/local/mysql/bin
。zsh
或 bash
),编辑 ~/.zshrc
或 ~/.bash_profile
文件:echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc # 如果是 zsh
# 或
echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.bash_profile # 如果是 bash
source ~/.zshrc # 或 source ~/.bash_profile
root
用户可能没有密码或有一个随机初始密码(检查安装日志或通知)。务必设置强密码!
sudo
):sudo mysql -u root
mysql>
提示符下:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPasswordHere'; -- 如果安装时选择了 legacy auth
-- 或 (MySQL 8.0+ 推荐)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere';
FLUSH PRIVILEGES;
EXIT;
sudo mysql_secure_installation
(参考 Linux 部分的安全脚本步骤)https://dev.mysql.com/downloads/repo/yum/
下载对应你系统的 .rpm
包。sudo rpm -Uvh mysql80-community-release-el7-<version>.noarch.rpm # 替换为实际文件名
sudo yum install mysql-community-server # 使用 yum
# 或 (Fedora/较新 CentOS/RHEL)
sudo dnf install mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo grep 'temporary password' /var/log/mysqld.log
记录下这个临时密码。sudo mysql_secure_installation
Y
,然后设置你的强密码。Y
。MySQL 的主要配置文件是 my.cnf
(Linux/macOS) 或 my.ini
(Windows)。它的位置因操作系统和安装方式而异。常见位置:
/etc/my.cnf
, /etc/mysql/my.cnf
, /usr/etc/my.cnf
, ~/.my.cnf
/usr/local/mysql/etc/my.cnf
, /etc/my.cnf
, ~/.my.cnf
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
(通常是隐藏目录), 安装目录下的 my.ini
port = 3306
: MySQL 服务器监听的端口号(默认 3306)。datadir = /var/lib/mysql
: 数据文件存储目录(非常重要!Linux 默认位置)。socket = /tmp/mysql.sock
(Linux/macOS) 或 socket = MySQL
(Windows): 本地连接使用的套接字文件。character-set-server = utf8mb4
: 设置服务器默认字符集。强烈推荐使用 utf8mb4
以支持完整的 Unicode(包括 emoji)。collation-server = utf8mb4_unicode_ci
: 设置服务器默认排序规则。utf8mb4_unicode_ci
是通用性较好的选择。default-storage-engine = InnoDB
: 设置默认存储引擎。InnoDB
是支持事务、外键的现代引擎,推荐使用。max_connections = 151
: 允许的最大并发客户端连接数。根据服务器资源调整。bind-address = 127.0.0.1
: 服务器绑定的 IP 地址。127.0.0.1
表示只允许本机连接。如需远程连接,可改为 0.0.0.0
(注意:改为 0.0.0.0 后务必配置用户权限和防火墙!安全风险高)。innodb_buffer_pool_size = 128M
: InnoDB 存储引擎用于缓存数据和索引的内存池大小。这是最重要的性能调优参数之一,通常设置为系统物理内存的 50%-80%。log_error = /var/log/mysql/error.log
(Linux) 或 log-error = mysql.err
(Windows): 错误日志文件路径。排查问题必备。slow_query_log = 1
: 是否启用慢查询日志(1 启用,0 禁用)。slow_query_log_file = /var/log/mysql/mysql-slow.log
(Linux): 慢查询日志文件路径。long_query_time = 2
: 定义执行时间超过多少秒的查询为慢查询(记录到慢日志)。mysql
命令行工具)。
port = 3306
socket = /tmp/mysql.sock
(Linux/macOS)default-character-set = utf8mb4
mysql --help | grep "Default options" -A 1
(Linux/macOS) 或查看 MySQL 服务属性中的启动参数 (Windows) 可以确定 MySQL 实际加载的配置文件顺序。cp /etc/my.cnf /etc/my.cnf.bak
vi
, nano
, Notepad++
)打开配置文件。[section]
下添加或修改键值对。注意格式通常是 key = value
。sudo systemctl restart mysql # 或 sudo systemctl restart mysqld (CentOS/RHEL)
MySQL80
),右键选择“重启”。net stop MySQL80
net start MySQL80
sudo /usr/local/mysql/support-files/mysql.server restart
检查服务状态:
systemctl status mysql
active (running)
或 Started
)。使用命令行客户端连接:
mysql -u root -p
-u root
: 指定用户名为 root
。-p
: 提示输入密码。root
密码。mysql>
提示符。执行简单 SQL 命令验证:
mysql> SHOW DATABASES;
information_schema
, mysql
, performance_schema
, sys
等系统数据库的列表。mysql> SELECT VERSION();
mysql> STATUS;
退出客户端:
mysql> EXIT;
或
mysql> QUIT;
root
用户和其他所有用户设置复杂且唯一的强密码。避免使用默认密码或简单密码。mysql_secure_installation
脚本移除匿名用户。root
用户从远程主机登录 (mysql_secure_installation
会处理)。应创建具有必要权限的特定用户用于远程管理。mysql_secure_installation
移除默认的 test
数据库。iptables
, firewalld
, Windows 防火墙)上仅开放 MySQL 服务端口(默认 3306)给特定的、可信的 IP 地址或地址段。禁止无限制开放 3306 端口到公网。SELECT
, INSERT
, UPDATE
, DELETE
等)。避免使用 root
用户运行应用。谨慎操作!卸载会删除所有数据和配置!务必先备份重要数据!
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
然后 sudo apt autoremove
最后 sudo rm -rf /etc/mysql /var/lib/mysql
sudo yum remove mysql-community-server mysql-community-client mysql-community-common
然后 sudo rm -rf /var/lib/mysql
datadir
)、配置文件 (my.cnf
/my.ini
)、日志文件等。位置取决于安装方式和配置。安装和配置 MySQL 是使用它的第一步。核心步骤包括:选择合适的版本和安装方式、运行安装程序/包管理器命令、进行初始安全配置(特别是设置 root 密码和运行 mysql_secure_installation
)、理解并可能需要修改核心配置文件 (my.cnf
/my.ini
)、重启服务使配置生效、最后验证连接和基本功能。始终将安全性放在首位(强密码、移除匿名用户、限制 root 远程访问、防火墙)。
完成这些后,你就可以开始创建数据库、表,并使用 SQL 语言管理和查询数据了!接下来通常会学习:
CREATE DATABASE
, CREATE TABLE
, INSERT
, SELECT
, UPDATE
, DELETE
, DROP
等。CREATE USER
, GRANT
, REVOKE
。mysqldump
工具的使用。文末寄语