如何创建MySQL安装设置脚本?

时间:2016-09-07 09:38:07

标签: mysql

我有一个应用程序将其数据存储在MySQL数据库中。应用程序使用具有完全访问权限的特定数据库帐户,在应用程序级别维护单独的用户权限。除了root之外,没有其他用户可以访问该数据库。

为了在计算机上安装应用程序,我需要一个用于创建数据库的sql脚本,应用程序用户,所有没有数据的表,视图,触发器,存储过程等。

mysqldump --no-data --routines --add-drop-database --databases dbname > sqlfile几乎可以做所有这些事情,但我找不到任何选项来包括创建有权访问该数据库的用户。任何提示?

2 个答案:

答案 0 :(得分:1)

mysqldump不转储用户信息的原因是因为它存储在不同的数据库名称mysql中,而不是存储在应用程序的数据库中。

您无法手动将此信息添加到生成的sql转储中。你有两个选择。创建shell脚本或创建包含用户创建信息的单独sql文件。在任何一种情况下,您的文件都将包含

等语句
GRANT ALL ON appdb.* TO 'pb_skat'@'localhost';

http://dev.mysql.com/doc/refman/5.7/en/grant.html

答案 1 :(得分:0)

在将应用程序转储引入数据库之前。

  1. 首先列出所有可用的用户:
  2. SELECT用户,主机,密码来自mysql.user;

    1. 使用" show grants"检查该用户是否具有权限。命令执行操作,否则提供权限。
    2. 上授予所有权限。根目录' @' localhost' WITH GRANT OPTION

      1. 创建要在其中引入转储的数据库名称。