如何为学习准备mysql环境_mysql学习路线环境配置

来源:这里教程网 时间:2026-02-28 20:37:29 作者:

直接装 Docker 版 MySQL 最省事

本地开发学 MySQL,别折腾

mysqld
服务安装、
my.cnf
配置、用户权限初始化这些。Docker 一条命令就能拉起干净、可重置的实例,版本也随你选(
mysql:8.0
mysql:5.7
)。

实操建议:

确保已装 Docker Desktop(Mac/Windows)或
docker
+
docker-compose
(Linux)
运行以下命令启动一个带密码的 MySQL 8.0 实例:
docker run -d \
  --name mysql-learn \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_DATABASE=testdb \
  -v $(pwd)/mysql-data:/var/lib/mysql \
  -d mysql:8.0
连接用:
mysql -h 127.0.0.1 -P 3306 -u root -p
,密码是
123456
⚠️ 注意:Mac M 系列或 Windows WSL2 下,别用
localhost
连,必须用
127.0.0.1
,否则可能报
Authentication plugin 'caching_sha2_password' cannot be loaded

MySQL 8.0 默认认证插件会卡住初学者

MySQL 8.0 默认用

caching_sha2_password
,而老客户端(比如某些 GUI 工具或旧版 Python
mysql-connector
)不支持,连不上还报错模糊。

解决办法(二选一):

启动容器时加参数强制降级认证:
-e MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password
或进容器后手动改 root 用户:
docker exec -it mysql-learn mysql -u root -p123456 -e "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;"
Python 用户注意:
pymysql
支持
caching_sha2_password
,但
mysql-connector-python
低于 8.0.19 就不行

用 mysql-client 命令行比 GUI 更适合起步

初学阶段别急着开

TablePlus
Navicat
phpMyAdmin
。GUI 隐藏了 SQL 执行上下文,容易把「点几下出结果」当成「懂了语法」。

推荐坚持用终端跑命令:

mysql -h 127.0.0.1 -P 3306 -u root -p
登录后,先执行
SELECT VERSION(), CURRENT_USER();
确认连对了
建库建表全用 SQL:
CREATE DATABASE demo CHARSET utf8mb4;
USE demo;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20));
导出结构用:
mysqldump -h 127.0.0.1 -u root -p --no-data testdb > schema.sql
GUI 只在查大数据量结果、看执行计划(
EXPLAIN
输出)或管理多个连接时再启用

学习路线里最容易跳过的其实是字符集和排序规则

很多人写完

CREATE TABLE
就开始 INSERT,直到插入中文变
???
、ORDER BY 中文乱序、或者
WHERE name = '张三'
查不到才回头翻文档。

起步就该定死两件事:

创建数据库时显式指定:
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
连接客户端时加上参数:
mysql -u root -p --default-character-set=utf8mb4
,否则即使库是 utf8mb4,连接层可能还是 latin1
检查当前连接编码:
SHOW VARIABLES LIKE 'character_set%'; SHOW VARIABLES LIKE 'collation%';
—— 重点看
character_set_client
character_set_connection
character_set_results
三个是否都是
utf8mb4

utf8mb4 是唯一能存 emoji 和生僻汉字的选项,别信“utf8 就够用”这种过时说法。

相关推荐