如何编写一个Linux shell脚本来连接MySQL数据库并执行外部SQL脚本?
时间: 2025-01-04 09:40:42 浏览: 7
要编写一个Linux shell脚本来连接MySQL数据库并执行外部SQL脚本,你可以采用以下方法:
1. **使用`mysqlsh`(MySQL Shell)工具**[^1]:
```shell
# 创建一个bash脚本,比如mysqldump.sh
mysqlsh -u <username> -p<password> --execute-file=<path_to_your_sql_script.sql>
```
这里,`<username>`是你的MySQL用户名,`<password>`是密码,`<path_to_your_sql_script.sql>`是你存放SQL脚本的路径。
2. **将SQL语句写入临时文件,然后执行**:
```shell
echo "$SQL_QUERY" > /tmp/mytemp.sql
mysql -u <username> -p<password> < /tmp/mytemp.sql
rm /tmp/mytemp.sql
```
其中`$SQL_QUERY`是你要执行的具体SQL查询。
3. **使用`mysqlclient`模块**[^2]:
如果你的脚本是Python编写的,可以利用`mysql-connector-python`库来连接和执行SQL:
```python
import mysql.connector
cnx = mysql.connector.connect(user='<username>', password='<password>',
host='localhost',
database='your_database')
cursor = cnx.cursor()
with open('<path_to_sql_file>') as f:
sql_commands = f.read().split(';')
for command in sql_commands:
if command.strip():
cursor.execute(command)
cnx.commit()
cursor.close()
cnx.close()
```
请注意替换上述代码中的占位符为实际的数据库信息。完成之后,记得妥善管理权限,确保脚本只能被授权的用户运行。
阅读全文