自动运行多个 MySQL 命令的最佳方法

Pou*_*oul 3 mysql best-practices

我们的系统上有几个核心数据库表,并允许我们的员工通过视图访问这些表,这些视图只向他们显示他们需要查看的数据。

我们在特定于新用户的新数据库中创建了这些视图。创建所有这些视图需要运行多个 mysql 查询。

我想将这个过程自动化到一个脚本中,但觉得必须已经有工具可以获取查询列表并运行它们。

任何人都可以推荐任何此类工具,甚至 mysql 中可以帮助我的任何内置功能吗?

谢谢!

Gai*_*ius 6

创建一个包含所有命令的文本文件。叫它newuser.sql。然后当你想设置一个新用户时,让我们打电话给他gaius,你会简单地做

$ cat newuser.sql|mysql --user=gaius --password=abc123 somedb
Run Code Online (Sandbox Code Playgroud)

显然你甚至可以在脚本中创建新用户,我们称之为 newuser.sh

#!/bin/bash

echo "create user '$1'@'%' identified by password('$2');"|mysql --user=root --password=secret
cat newuser.sql|mysql --user=$1 --password=$2 somedb
Run Code Online (Sandbox Code Playgroud)

然后做

$ ./newuser.sh gaius abc123
Run Code Online (Sandbox Code Playgroud)