怎么在执行脚本中自动执行mysql导入跟密码输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在执行脚本中自动执行mysql导入跟密码输入相关的知识,希望对你有一定的参考价值。

Linux环境中,脚本(注意是在脚本中实现的)需要导入一个位于/mnt/bk/ 的一个.sql文件(.sql文件很多。需要在脚本中实现获得这个最新文件`ls -t /mnt/bk/*.sql | head -1`参考这样方法,使用source导入);
问题二。sudo svn 下需要设置密码,实现自动输入密码;
采用可以加分;求详细

参考技术A 1、不需要source
#!/bin/sh
. ~/.bash_profile

sqlfile=`ls -t /mnt/bk/*.sql | head -1`
mysql -uroot -p123456 -Ddb01 < $sqlfile追问

在数据库中要实现新建一个数据库db001,然后再导入

而且还要给一个用户加入权限(grant all on db001.* to drupal@'%';)

追答

-e参数就能搞定
mysql -uroot -p123456 -e "create database db01";
mysql -uroot -p123456 -e "grant all on db001.* to drupal@'%';)";

svn是个命令?
你可以用echo -n “password”|sudo svn

本回答被提问者采纳

怎样在PHP里执行SQL脚本

参考技术A 先看个例子吧:
<?php
/*配置项*/
$mysql_server_name='localhost';
$mysql_username='root'; //用户名
$mysql_password='12345678'; //密码
$mysql_database='mycounter'; //数据库名
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接服务器
$sql='CREATE DATABASE mycounter DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; //sql语句创建数据库
';
mysql_query($sql); //此处执行SQL语句
$sql='CREATE TABLE `counter` (`id` INT(255) UNSIGNED NOT NULL AUTO_INCREMENT ,`count` INT(255) UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY ( `id` ) ) TYPE = innodb;';
//sql语句创建表
mysql_select_db($mysql_database,$conn); //连接数据库
$result=mysql_query($sql); //此处执行SQL语句
mysql_close($conn);
echo "Hello!数据库mycounter已经成功建立!";
?>

所以说在PHP里执行SQL脚本就是利用mysql_query(‘sql语句’)来执行的 (当然此处是只数据库是MYSQL的情况下,如过是sqlserver则是mssql_query(‘sql语句’))
参考技术B 你要连什么数据库,是sqlsever,mysql还是oracle 参考技术C 你是指连数据库,然后查询、更新、删除吗?

以上是关于怎么在执行脚本中自动执行mysql导入跟密码输入的主要内容,如果未能解决你的问题,请参考以下文章

如何执行一个mysql的sql脚本文件

sql文件怎么导入mysql数据库

用shell脚本写ftp时,怎么自动填写用户名和密码,而不用执行shell脚本后手动输入用户名和密码?

SecureCRT远程登录Unix主机时(telnet和ssh)能不能自动输入账号和密码,然后怎样让其自动执行脚本,谢谢啦

启动mysql的docker镜像,怎么自动执行初始化sql脚本

mysql导入sql脚本