mysql -u 用户名 -p -e "SQL语句"
,2. **PostgreSQL**:通过psql -U 用户名 -c "SQL语句"
,3. **SQLite**:直接运行sqlite3 数据库文件 "SQL语句"
,也可将SQL写入文件,用< 文件
重定向执行,或进入交互命令行操作。命令行工具(最常用)
MySQL/MariaDB
步骤:
-
安装客户端
# Ubuntu/Debian sudo apt install mysql-client # CentOS/RHEL sudo yum install mysql
-
连接数据库
mysql -u 用户名 -p -h 主机地址 -P 端口号 数据库名
- 系统提示输入密码(推荐方式,避免密码暴露在历史记录中)。
- 示例:
mysql -u root -p -h 127.0.0.1 mydb
-
执行SQL语句
- 单条语句:
SELECT * FROM users;
- 执行SQL文件:
mysql -u 用户 -p 数据库名 < 文件路径.sql
- 退出客户端:输入
exit
或q
。
- 单条语句:
PostgreSQL
步骤:
-
安装客户端
# Ubuntu/Debian sudo apt install postgresql-client # CentOS/RHEL sudo yum install postgresql
-
连接数据库
psql -U 用户名 -h 主机地址 -d 数据库名 -p 端口
- 示例:
psql -U postgres -d testdb
- 示例:
-
执行SQL
- 交互式输入SQL语句。
- 执行SQL文件:
psql -U 用户 -d 数据库名 -f 文件路径.sql
图形化工具(适合可视化操作)
DBeaver(跨平台支持)
- 安装:
sudo snap install dBeaver-ce # Snap方式 # 或官网下载.tar.gz解压运行
- 使用:
- 创建数据库连接(支持MySQL、PostgreSQL、Oracle等)。
- 在“SQL编辑器”中输入语句,点击执行按钮(▶️)。
phpMyAdmin(Web版MySQL管理)
- 安装:
sudo apt install phpmyadmin # 自动配置Apache/Nginx
- 访问
http://服务器IP/phpmyadmin
,登录后直接执行SQL。
通过脚本/编程语言执行
Shell脚本集成
# MySQL示例 result=$(mysql -u root -p"密码" -e "SELECT COUNT(*) FROM users;" mydb) echo "用户数量: $result"
安全提示:避免在脚本中硬编码密码,改用配置文件(如
~/.my.cnf
)或环境变量。
Python脚本(使用库)
import mysql.connector db = mysql.connector.connect( host="localhost", user="root", password="密码", database="mydb" ) cursor = db.cursor() cursor.execute("SELECT * FROM products") for row in cursor.fetchall(): print(row)
安全注意事项
-
密码保护
- 使用
mysql_config_editor
保存加密凭证:mysql_config_editor set --login-path=别名 --host=主机 --user=用户 --password
连接时直接调用:
mysql --login-path=别名
- 使用
-
权限最小化
为操作分配仅需的数据库权限,避免使用root
账户。 -
敏感信息隔离
将数据库连接信息存储在环境变量或配置文件中(权限设为600
)。
常见问题解决
- 连接拒绝:检查防火墙、数据库是否监听
0.0.0
及用户远程权限。 - 命令未找到:确认客户端工具已安装(
which mysql
验证路径)。 - 编码问题:执行前声明字符集,
mysql --default-character-set=utf8mb4 -u 用户 -p
场景 | 推荐方式 |
---|---|
快速单次查询 | 命令行交互模式 |
批量执行SQL文件 | mysql -u 用户 -p db < file.sql |
日常管理/数据分析 | DBeaver或phpMyAdmin |
自动化任务(如备份) | Shell/Python脚本集成 |
通过灵活选择工具并遵循安全规范,可高效管理Linux环境下的SQL操作,官方文档始终是最权威的参考来源。
引用说明参考MySQL官方文档(dev.mysql.com/doc)、PostgreSQL手册(postgresql.org/docs)及Linux手册页(
man mysql
),安全实践依据OWASP数据库安全指南。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/23346.html