检查 MySQL 服务是否正常启动
安装完成后第一步不是连数据库,而是确认服务进程在运行。Linux 下常用
systemctl status mysql或
systemctl status mysqld(取决于发行版和安装方式),若显示
active (running)才算通过。Windows 用户需打开「服务」管理器,查找名为
MySQL80(或你自定义的服务名)的状态是否为「正在运行」。常见失败原因是端口被占用(默认 3306)、
my.cnf配置语法错误、或数据目录权限不对。
用 mysql 命令行客户端连接本地实例
执行
mysql -u root -p尝试登录。首次安装后 root 密码可能为空、随机生成(见安装日志或
/var/log/mysqld.log),或由安装向导设定。若提示
Access denied,不要直接重装,先查
mysqld --skip-grant-tables临时绕过验证重置密码。连接成功后会进入
mysql>提示符,此时输入
SELECT VERSION();和
SELECT USER();可快速确认版本与当前用户身份。
创建测试库并写入一条记录验证读写能力
仅能连接不等于能用,必须验证 DDL + DML 是否正常:
CREATE DATABASE test_db CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; USE test_db; CREATE TABLE t1 (id INT PRIMARY KEY, msg VARCHAR(50)); INSERT INTO t1 VALUES (1, 'hello mysql'); SELECT * FROM t1;
若全部执行无报错且返回结果,说明基础存储引擎(InnoDB)、字符集、事务支持均就绪。注意:MySQL 8.0 默认禁用
NO_ZERO_DATE等 SQL mode,若建表时遇到日期字段报错,需检查
sql_mode设置。
检查关键配置项是否符合预期
有些问题不会立刻暴露,但会影响后续使用:
max_connections过低会导致并发连接拒绝,用
SHOW VARIABLES LIKE 'max_connections';查看
character_set_server和
collation_server应与应用一致,避免乱码
bind_address若为
127.0.0.1则只允许本地连接;若需远程访问,需改为
0.0.0.0并开放防火墙端口
secure_file_priv限制
LOAD DATA INFILE路径,测试导入功能前务必确认该值
这些参数改完需重启服务才生效,且部分(如
max_connections)在动态修改后仅对新连接生效。
