您的位置:首页 > 运维架构 > Shell

shell脚本简单操纵mysql数据库

2017-01-06 11:11 281 查看
     mysql登录参数中包括--execute参数,后面是紧接着sql语句。这样就把sql语句作为脚本的变量传递即可。那么我们就可以用脚本的方式执行了,这样就不用再登录mysql后,再写sql语句了。

   1.root用户登录

   2.创建新用户并赋予操纵登录权限

   3.localhost用户登录(似乎要加上-h选项,得获取当前主机ip才能登录?我这测试不加的话会否决)

   4.source ptah使用mysql执行.sql脚本(.sql脚本是数据库生成的--结构和数据--就是sql语句的集合)

#!/bin/bash
#root登录并创建新用户
function UseraddWithip(){
cd /usr/local/mysql/bin/

mysqllogin="root"
mysqlpass=""
newusername="iscas"
newuserpass="12345"
sql_createuser="CREATE USER '${newusername}' IDENTIFIED BY '${newuserpass}';";
sql_grant1="GRANT ALL PRIVILEGES ON *.* TO '${newusername}'@'%';";
sql_grant2="GRANT ALL PRIVILEGES ON *.* TO '${newusername}'@'localhost';";
sql_add="${sql_createuser}${sql_grant1}${sql_grant2}";
./mysql --user=$mysqllogin --password=$mysqlpass --execute="$sql_add";
}
#root登录
function Rootlogin(){
cd /usr/local/mysql/bin/
mysqllogin="root"
mysqlpass=""
./mysql --user=$mysqllogin --password=$mysqlpass ;
#可以修改root密码
#newpass="12345"
#sql_db="use mysql;";
#sql_change="update user set authentication_string =password('${newpass}') where user='${mysqllogin}'; ";
#sql_flush="flush privileges;";
#sql_add="${sql_db}${sql_change}${sql_flush}";
#echo $sql_add;
#./mysql --user=$mysqllogin --password=$mysqlpass --execute="$sql_add";
}
#新建的用户进行登录,并导入.sql脚本执行SQL语句
function createtable(){
cd /usr/local/mysql/bin/
mysqllogin="iscas"
mysqlpass="12345"

#locahost登录
createdb="test";
location="/usr/local/componetmetadata.sql";
ipaddr=`ip route show | sed -n '2'p|awk '{print $9}'`
sql_db="Create Database if Not Exists ${createdb} character set utf8 ;";
select_db="use ${createdb};";
sql_loc="source ${location};";
sql_add="${sql_db}${select_db}${sql_loc}";
./mysql --user=$mysqllogin --password=$mysqlpass -h$ipaddr --execute="$sql_add";
}

#本机登录
function localhostlogin(){
cd /usr/local/mysql/bin/
ipaddr=`ip route show | sed -n '2'p|awk '{print $9}'`
#echo $ipaddr;
mysqllogin="iscas"
mysqlpass="12345"
./mysql --user=$mysqllogin --password=$mysqlpass -h$ipaddr;

}
#删除用户
function deleteuser(){
cd /usr/local/mysql/bin/
delusername="iscas"
mysqllogin="root"
mysqlpass=""

sql_del1="DROP user '${delusername}'@'%';";
sql_del2="DROP user '${delusername}'@localhost;";
sql_add="${sql_del1}";
./mysql --user=$mysqllogin --password=$mysqlpass --execute="$sql_add";
}

#UseraddWithip
#localhostlogin
#deleteuser
Rootlogin

#createtable
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql shell 脚本