bash脚本命令将schema.sql注入mysql数据库

bash脚本命令将schema.sql注入mysql数据库,mysql,bash,Mysql,Bash,我找到了这段代码,但不太了解该命令的作用 sudo -u test-user mysql -U test_traffic traffic < ./phoenix/data/sql/lib.model.schema.sql 我知道最后一部分是使用lib.model.schema.sql创建表和字段 第一部分我不太明白:sudo-u测试用户mysql-u测试流量 我知道sudo和mysql命令 请解释一下? 谢谢请尝试以下mysql步骤: mysql > -h hostname

我找到了这段代码,但不太了解该命令的作用

sudo -u test-user mysql -U test_traffic traffic < ./phoenix/data/sql/lib.model.schema.sql
我知道最后一部分是使用lib.model.schema.sql创建表和字段 第一部分我不太明白:sudo-u测试用户mysql-u测试流量

我知道sudo和mysql命令

请解释一下?
谢谢

请尝试以下mysql步骤:

   mysql > -h hostname  -u username -p password

    mysql > use databasename;

    mysql > source path/to/scriptfile

对于mysql,请尝试以下步骤:

   mysql > -h hostname  -u username -p password

    mysql > use databasename;

    mysql > source path/to/scriptfile

让我们一点一点地看一下。首先是格式

sudo -u username command
是一条运行命令的指令,它可能与用户用户名一样简单或复杂。因此,在您的示例中,您以用户测试用户的身份运行mysql命令。您应该注意到,这包括mysql命令的所有参数——这是整行的其余部分

命令

mysql -U test_traffic traffic < ./phoenix/data/sql/lib.model.schema.sql
在5.0.51a上运行它肯定会失败。如果-U是一个-U,这将表明该命令将针对mysql用户test_流量执行,这将是有意义的。如果是a-u,则会有一条将sql文件导入流量数据库的指令


因此,组合指令说,使用mysql用户test_通信将lib.model.schema.sql文件导入数据库test_通信,并像作为用户测试用户登录一样执行整个命令。

让我们一点一点地看一下。首先是格式

sudo -u username command
是一条运行命令的指令,它可能与用户用户名一样简单或复杂。因此,在您的示例中,您以用户测试用户的身份运行mysql命令。您应该注意到,这包括mysql命令的所有参数——这是整行的其余部分

命令

mysql -U test_traffic traffic < ./phoenix/data/sql/lib.model.schema.sql
在5.0.51a上运行它肯定会失败。如果-U是一个-U,这将表明该命令将针对mysql用户test_流量执行,这将是有意义的。如果是a-u,则会有一条将sql文件导入流量数据库的指令


因此,组合指令说,使用mysql用户测试流量将lib.model.schema.sql文件导入数据库测试流量,并像作为用户测试用户登录一样执行整个命令。

如果要使用shell脚本将schema.sql文件注入数据库,只需使用:

mysql -h [host] -u [username] -p[password] -D [database] < your_file
如果要动态地告诉应该加载哪个文件,请将_文件替换为$1,并将文件名作为参数传递给脚本


还要注意-p选项。-p和密码之间没有空格。

如果要使用shell脚本将schema.sql文件注入数据库,只需使用:

mysql -h [host] -u [username] -p[password] -D [database] < your_file
如果要动态地告诉应该加载哪个文件,请将_文件替换为$1,并将文件名作为参数传递给脚本


还要注意-p选项。-p和您的密码之间没有空格。

是否创建了数据库,并且要为表架构运行脚本?是的,有一个数据库只想为表使用schema.sql您到底想做什么?您的目标是使用bash脚本在数据库中注入一个SQL文件,还是仅仅为了理解这个脚本的功能?如果您理解sudo和mysql,那么还有什么需要解释的呢?sudo-u切换到另一个系统用户,而不是root用户,mysql-u同样选择一个mysql用户名?我用这行代码运行脚本,得到helloises的:[sudo]密码:mysql版本14.14发行版5.1.41,适用于debian linux gnu i486,使用readline 6.1版权所有2000-2008 mysql AB,2008 Sun Microsystems,Inc.这款软件绝对没有保修。这是免费软件,欢迎您根据GPL许可证用法修改和重新发布它:mysql[OPTIONS][database],就像它显示帮助菜单一样,因此该行中的某些内容不正确,thanksIs数据库已创建,您想为表架构运行脚本吗?是的,有一个数据库只想为表使用schema.sql您到底想做什么?您的目标是使用bash脚本在数据库中注入一个SQL文件,还是仅仅为了理解这个脚本的功能?如果您理解sudo和mysql,那么还有什么需要解释的呢?sudo-u切换到另一个系统用户,而不是root用户,mysql-u同样选择一个mysql用户名?我用这行代码运行脚本,得到helloises的:[sudo]密码:mysql版本14.14发行版5.1.41,适用于debian linux gnu i486,使用readline 6.1版权所有2000-2008 mysql AB,2008 Sun Microsystems,Inc.这款软件绝对没有保修。这是一款免费软件,欢迎您根据GPL许可证用法修改和重新发布:mysql[OPTIONS][database],就像它显示了帮助菜单一样,因此该行中的某些内容不正确,非常感谢!你把我扔了。。我现在可以用了,谢谢!非常感谢你!这个 -你把我扔了。。我现在可以用了,谢谢!