MySQL 命令行基础操作:连接、密码修改与用户授权
本文整理 MySQL 最核心的命令行操作指南,包括如何快速连接本机或远程数据库、更改登录密码,以及如何安全地为新用户配置特定的数据库访问权限。适合需要掌握基础 DBA 操作的开发者阅读。
连接 MySQL 服务器
要通过命令行连接 MySQL 服务,需使用 mysql 客户端程序。基本命令格式如下:
- 参数说明
-h:指定主机地址(默认是 localhost)。-u:指定用户名(通常为 root)。-p:提示输入密码(建议不要在命令行直接明文传递密码以提高安全性)。
第1步:连接到本机上的 MySQL
目的:在本地环境中进入 MySQL 交互界面。
操作:打开终端(Windows 下为 CMD/PowerShell,Linux/macOS 下为 Terminal),确保路径已加入环境变量或进入 MySQL 的 bin 目录。
命令:
mysql -uroot -p
说明:执行后系统会提示输入密码。若安装时为 root 设置了空密码,直接回车即可进入;否则输入对应密码。
第2步:连接到远程主机上的 MySQL
目的:从当前机器连接至另一台服务器上的 MySQL。
操作:指定远程 IP 或域名。
命令示例:
mysql -h 110.110.110.110 -uroot -p
注意:上述命令中 -uroot 与 -u root 效果相同,但密码建议在提示符中输入而非直接写在命令行后,以防历史记录泄露。
第3步:退出 MySQL
操作:在 MySQL 提示符下键入:
exit
或者按快捷键 Ctrl + D 退出。
修改用户密码
修改密码通常有两种场景:通过外部命令工具修改,或在数据库中执行 SQL 修改。原文提及的 admin 并非标准 MySQL 工具,现代环境下推荐使用 mysqladmin 或直接执行 ALTER USER / SET PASSWORD。
第4步:使用 mysqladmin 修改 root 密码
前提条件:已知旧密码,且拥有 root 权限。
初始无密码状态:如果刚安装未设密码:
mysqladmin -uroot password ab12
已有密码并修改为新密码:
mysqladmin -uroot -pab12 password djg345
风险提示:在命令行中包含明文密码(如 -poldpwd)可能会被系统进程列表或 bash 历史记录记录,生产环境建议仅使用 -p 空格后面回车输入的方式。
第5步:在 MySQL 内部修改密码(推荐)
登录数据库后,可以使用 SQL 命令更灵活地管理密码:
-- MySQL 8.0+ 标准写法
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
增加新用户及权限管理
在 MySQL 中创建用户并分配权限,通常需要在数据库内部执行 SQL 语句。原草稿中的 grant 语法是经典做法,但需注意权限最小化原则。
第6步:创建具有特定权限的用户(高风险做法修正)
错误示范风险:原文例1中授予所有数据库 *.* 给任意主机 %,这将导致极大的安全隐患。
正确操作:限制主机的访问范围(如仅限 localhost 或特定 IP)。
步骤 A:先创建用户(MySQL 8.0+ 必须分步):
CREATE USER 'test2'@'localhost' IDENTIFIED BY 'abc';
步骤 B:分配权限:
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'test2'@'localhost';
FLUSH PRIVILEGES;
结果:用户 test2 只能从本地主机登录,且只能操作 mydb 库的数据,无法访问其他库。
第7步:设置无密码用户(不推荐)
虽然可以通过以下命令取消密码:
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY '';
提醒:无密码登录极不安全,除非在受信任的内网隔离环境中,否则应始终设置强密码。
第8步:验证权限
使用新登录账户测试是否能查看或修改数据:
SHOW GRANTS FOR 'test2'@'localhost';
简要总结
掌握 MySQL 的基本命令行操作是进行数据库管理的第一步。连接时注意区分本地与远程地址;修改密码建议使用内部 SQL 命令以保证兼容性;创建用户时务必遵循“最小权限原则”,严格限制 @host 的范围,避免开放全局权限带来的安全风险。以上就是 MySQL 最基本的命令使用汇整理的详细内容,更多关于数据库管理与运维的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













