background image

  3 / 29 

 

    GRANT  ALL  PRIVILEGES  ON  *.*  TO 

monty@localhost

  IDENTIFIED  BY  'something'  WITH 

GRANT OPTION; 

    GRANT  ALL  PRIVILEGES  ON  *.*  TO 

mailto:monty@"

"  IDENTIFIED  BY  'something'  WITH 

GRANT OPTION; 

    删除授权: 

    mysql> revoke all privileges on *.* from 

mailto:root@"

"; 

    mysql> delete from user where user="root" and host="%"; 

    mysql> flush privileges; 

    创建一个用户 custom 在特定客户端 it363.com 登录,可访问特定数据库 fangchandb 

    mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com 

identified by ' passwd' 

    重命名表: 

    mysql > alter table t1 rename t2; 

    mysqldump 

    备份数据库 

    shell> mysqldump -h host -u root -p dbname >dbname_backup.sql 

    恢复数据库 

    shell> mysqladmin -h myhost -u root -p create dbname 

    shell> mysqldump -h host -u root -p dbname < dbname_backup.sql 

    如果只想卸出建表指令,则命令如下: 

    shell> mysqladmin -u root -p -d databasename > a.sql 

    如果只想卸出插入数据的 sql 命令,而不需要建表命令,则命令如下: 

    shell> mysqladmin -u root -p -t databasename > a.sql 

    那么如果我只想要数据,而不想要什么 sql 命令时,应该如何操作呢? 

    mysqldump -T./ phptest driver 

    其中,只有指定了-T 参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与

mysqldump 同一目录。如果不指定 driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,

一个为.sql 文件,包含建表执行。另一个为.txt 文件,只包含数据,且没有 sql 指令。 

    可将查询存储在一个文件中并告诉 mysql 从文件中读取查询而不是等待键盘输入。可利用外壳程

序键入重定向实用程序来完成这项工作。例如,如果在文件 my_file.sql  中存放有查 

    询,可如下执行这些查询: 

    例如,如果您想将建表语句提前写在 sql.txt 中, 

    mysql > mysql -h myhost -u root -p 

    Mysql5.0 支持的字符集 

    MySQL 中的字符集控制做得比较细,可以分为数据库级,表级,  字段级(这一点和 ORACLE 不

同)。我上次改的字符集是数据库级的,对表 sysuser 没有影响,所以出现了改了字符集却一样无法插

入中文的情况。