shell脚本简单操纵mysql数据库

     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
    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值