前提条件
-
MySQL已安装
- 验证安装:终端执行
mysql --version
,若返回版本号(如mysql Ver 8.0.33
)则已安装。 - 未安装解决方案:
- Windows/macOS:从MySQL官网下载安装包。
- Linux(Ubuntu/Debian):
sudo apt update && sudo apt install mysql-server
- Linux(CentOS/RHEL):
sudo yum install mysql-server
- 验证安装:终端执行
-
MySQL服务已启动
- Windows:
- 服务管理:Win+R → 输入
services.msc
→ 找到MySQL
服务 → 右键启动。 - 命令行:
net start mysql
(以管理员身份运行CMD)。
- 服务管理:Win+R → 输入
- macOS/Linux:
sudo systemctl start mysql # 大多数系统 # 或 sudo service mysql start # 旧版系统
- Windows:
连接MySQL数据库
基础连接命令
mysql -u 用户名 -p
- 参数说明:
-u
:指定用户名(如-u root
)。-p
:触发密码输入(安全提示:勿直接写密码在命令中)。-h
:主机地址(默认localhost
,远程连接用-h 192.168.1.100
)。-P
:端口号(默认3306
,非默认端口需指定,如-P 3307
)。
操作示例
-
本地连接(默认设置)
mysql -u root -p
- 回车后输入密码,成功进入
mysql>
交互界面。
- 回车后输入密码,成功进入
-
远程连接
mysql -u admin -h db.example.com -P 3306 -p
- 需确保远程服务器允许访问(配置MySQL的
bind-address
和用户权限)。
- 需确保远程服务器允许访问(配置MySQL的
-
指定数据库直接进入
mysql -u 用户名 -p 数据库名
- 例:
mysql -u shop_user -p ecommerce_db
- 例:
连接后基础操作
进入 mysql>
提示符后执行SQL命令:
SHOW DATABASES; -- 查看所有数据库 USE 数据库名; -- 切换数据库(例:USE orders;) SHOW TABLES; -- 显示当前数据库的表 EXIT; -- 退出MySQL
常见问题解决
-
报错:
Access denied for user
- 密码错误:检查大小写及特殊字符。
- 权限不足:用管理员账户执行
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机';
。
-
报错:
Can't connect to MySQL server
- 服务未启动:按前文步骤启动MySQL服务。
- 端口阻塞:检查防火墙(Linux:
sudo ufw allow 3306
)。 - 远程访问限制:修改MySQL配置文件:
# 文件路径:/etc/mysql/mysql.conf.d/mysqld.cnf(Linux/macOS) [mysqld] bind-address = 0.0.0.0 # 允许所有IP访问
-
命令未找到(
mysql: command not found
)- 环境变量未配置:
- Windows:添加MySQL安装路径(如
C:\Program Files\MySQL\bin
)到系统PATH。 - Linux/macOS:在终端执行
export PATH=$PATH:/usr/local/mysql/bin
(路径根据实际安装位置调整)。
- Windows:添加MySQL安装路径(如
- 环境变量未配置:
安全最佳实践
- 密码安全
- 始终通过
-p
触发交互式输入密码,避免命令历史泄露(如错误示范:mysql -u root -p123456
)。
- 始终通过
- 最小权限原则
- 日常操作避免使用
root
账户,创建专用用户并分配必要权限。
- 日常操作避免使用
- 连接加密
- 远程连接时启用SSL:添加参数
--ssl-mode=REQUIRED
。
- 远程连接时启用SSL:添加参数
命令行操作MySQL是数据库管理的核心能力,结合权限控制与网络配置,可高效管理本地或云端数据库,建议通过官方文档深化学习复杂操作(如备份、用户管理)。
引用说明:本文操作基于MySQL 8.0官方手册,安全建议参考OWASP数据库安全指南。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5961.html