要在命令行中使用MySQL数据库,需掌握基础连接、SQL操作及管理工具,以下是详细步骤(以Linux/macOS为例,Windows需将终端命令替换为CMD/PowerShell):
准备工作
-
安装MySQL
- Ubuntu/Debian:
sudo apt update && sudo apt install mysql-server
- CentOS/RHEL:
sudo yum install mysql-server
- macOS (推荐Homebrew):
brew install mysql
- Ubuntu/Debian:
-
启动MySQL服务
sudo systemctl start mysql # Linux brew services start mysql # macOS
-
设置root密码
首次安装后运行安全配置向导:sudo mysql_secure_installation
连接MySQL服务器
方式1:本地连接(无密码)
sudo mysql -u root # Linux默认免密
方式2:带密码连接
mysql -u 用户名 -p``` #### 方式3:指定主机和端口 ```bash mysql -h 主机地址 -P 端口号 -u 用户名 -p # 示例:mysql -h 127.0.0.1 -P 3306 -u root -p
注意:避免在命令中直接写密码(如
-p密码
),以免泄露。
基础数据库操作
查看所有数据库
SHOW DATABASES;
创建/删除数据库
CREATE DATABASE 数据库名; -- 创建 DROP DATABASE 数据库名; -- 删除
选择数据库
USE 数据库名;
查看当前数据库的表
SHOW TABLES;
执行SQL查询
SELECT * FROM 表名; -- 查询数据 DESCRIBE 表名; -- 查看表结构
退出MySQL命令行
EXIT; 或 \q
导入/导出数据
导入SQL文件(恢复备份)
mysql -u 用户名 -p 数据库名 < 文件路径.sql
导出整个数据库(备份)
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
导出单张表
mysqldump -u 用户名 -p 数据库名 表名 > 表备份.sql
用户权限管理
创建用户并授权
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'localhost'; FLUSH PRIVILEGES; -- 刷新权限
查看用户权限
SHOW GRANTS FOR '用户名'@'localhost';
常见问题解决
-
连接被拒绝
- 检查MySQL服务状态:
sudo systemctl status mysql
- 确认防火墙开放3306端口。
- 检查MySQL服务状态:
-
忘记root密码
sudo systemctl stop mysql # 停止服务 sudo mysqld_safe --skip-grant-tables & # 跳过权限验证 mysql -u root
在MySQL中重置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
-
命令未找到(mysql/mysqldump)
将MySQL添加到系统路径:echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc source ~/.bashrc
安全建议
- 避免使用root账户日常操作,创建专用用户。
- 定期备份关键数据:
mysqldump -u root -p --all-databases > full_backup.sql
- 生产环境禁用远程root登录。
命令行操作MySQL是数据库管理的核心技能,适合快速执行任务、自动化脚本及服务器维护,熟练掌握后,可结合Python/Shell脚本实现高效运维,建议通过官方文档深化学习:
引用说明:
- MySQL 8.0官方手册:https://dev.mysql.com/doc/refman/8.0/en/
- mysqldump备份工具指南:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
- 权限管理参考:https://dev.mysql.com/doc/refman/8.0/en/privilege-system.html
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5564.html