冰古blog » 站长相关 » 2010 » 03 » 23 » 快速添加多个MySQL用户及数据库

快速添加多个MySQL用户及数据库

快速添加多个MySQL用户及数据库

如果大家像我一样爱“搬家”的话,就会明白添加多个MySQL用户和数据库的痛苦。以前用虚拟主机,在cpanel上添加,虽然说是有界面,操作过程比较简捷明了,但添加多个用户及数据库时,还是费时费力;以后有了SSH,可以直接敲命令,登录Mysql,添加数据库,给它添加对应的用户并给予权限,一条一条命令地敲,还是不够省力。

昨天晚上搜索mysqladmin时,无意中翻到MySQL文档4.5.1.4. Executing SQL Statements from a Text File,原来mysql还可以直接从文档中读取并执行命令(失败,这个不是什么新玩意,之前都已经记录过这个命令——MySQL大数据库的导出和导入 😳 )。

好吧,看来我是没什么发散性思维的。还是继续看看怎样添加多个MySQL用户及数据库吧:

  1. 用vi新建一个文档:
    # vi addusers.txt
  2. 在其中输入:
    create database 数据库名称;
    grant all privileges on 数据库名称.* to 数据库用户名@localhost identified by '密码';
    flush privileges;

    多个用户及数据库,只要重复上面的代码就可以了,例如:

    create database 数据库名称1;
    grant all privileges on 数据库名称1.* to 数据库用户名1@localhost identified by '密码1';
    flush privileges;
    
    create database 数据库名称2;
    grant all privileges on 数据库名称2.* to 数据库用户名2@localhost identified by '密码2';
    flush privileges;
    
    create database 数据库名称3;
    grant all privileges on 数据库名称3.* to 数据库用户名3@localhost identified by '密码3';
    flush privileges;
  3. 保存退出vi
  4. 输入下列命令:
    # /usr/local/mysql/bin/mysql -uroot -p用户root的密码 < addusers.txt
  5. OK,到这里如果顺利执行并没有错误输出的话,就已经完成添加多个用户及数据库的任务了

添加完数据库和用户后,当然是要导入数据的,同样可以用命令行完成的——MySQL大数据库的导出和导入

20 Responses to “快速添加多个MySQL用户及数据库”

  1. an9 says:

    学习一下。

  2. Ebo says:

    路过。

  3. Johnny says:

    非常好,又学到一招了,转到我blog去··· :mrgreen:

  4. 皓辰 says:

    实用极了

  5. Mars says:

    Linux就是方便,简单一步,轻松搞定。

  6. 疾风 says:

    代码较为深奥 呵呵

  7. pazz7ven says:

    Linux貌似太复杂了

  8. 郑永 says:

    高人的博客,我发现没有几篇看得懂的,看来是我不识货啊。

  9. 三七八蛋 says:

    一楼的强。

  10. yunt says:

    呵呵,这个不错。不过如果用shell可能扩展性会更好些
    #!/bin/bash
    DBNAME=(db1 db2 db3)
    USERS=(user1 user2 user3)
    PASS=(pass1 pass2 pass3)
    MYSQLCMD=”/usr/local/mysql/bin/mysql -uroot -p用户root的密码”
    for ((i = 0; i < ${#DBNAME[@]}; i++))
    do
    info=`echo "create database ${DBNAME[$i]}" | $MYSQLCMD`
    echo $info
    info=`echo "grant all privileges on ${DBNAME[$i]}.* to ${USERS[$i]}@localhost identified by \'${PASS[$i]}\'" | $MYSQLCMD`
    echo $info
    info=`echo "flush privileges" | $MYSQLCMD`
    echo $info
    done

  11. zwwooooo says:

    没vps,纯围观

  12. 小邪 says:

    哈哈,批处理似地 ~

  13. QiQBoY says:

    不明白。。。坐下再说 😳

Leave a Reply to zwwooooo