mysql 创建用户方法

2012年4月2日 发表评论 阅读评论

命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。

例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。

grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

#!/bin/bash

_date=`date +%Y%m%d%H%M`;

/usr/bin/mysqldump test –opt -u用户名 -p密码 > /home/public_www/mlp/backup/linuxedu.$_date;

——————————————————————————-

备份:mysqldump –force –add-drop-table –extended-insert -h"数据库主机名" -u"用户名" -p"密码" "数据库名" > 备份数据文件名

恢复:mysql -h"数据库主机名" -u"用户名" -p"密码" "数据库名" < 备份数据文件名

——————————————————————————

MySQL提供了三条数据库级的语句,它们分别是: CREATE DATABASE 用于创建数据库,DROP DATABASE 用于删除数据库,USE 用于选择缺省数据库。

   1. CREATE DATABASE 语句

   创建一个数据库很容易;只要在CREATE DATABASE 语句中给出其名称即可:

create database aaa;

   其中限制条件是该数据库的名称必须是合法的,该数据库必须不存在,并且您必须有足够的权限来创建它。

   2. DROP DATABASE 语句

   删除数据库就像创建它一样容易,假如有权限,执行下列语句即可:

drop database aaa;

   请注意,不要乱用DROP DATABASE 语句,它将会删除数据库及其所有的表。在删除了一个数据库后,该数据库就永远没有了。换句话说,不要仅为了看看这条语句如何工作就试着执行该语句。如果管理员已经正常完成了数据库备份,那么删除的数据库可能还可以恢复。

请注意,数据库是由数据目录中的一个目录表示的。如果在该目录中放置了一些非表的数据文件,它们是不会被DROP DATABASE 语句删除的。此时,该数据库目录自身也不被删除。

—————————————————————–

在mysql中创建用户和数据库

1. 请先用root登录到mysql,方法:

c:mysql inmysql -uroot -p

2.创建一个用户为javauser, 口令为javadude ,拥有权限:可在任意主机上对数据库javatest进行任意操作

mysql> GRANT ALL PRIVILEGES ON javatest.* TO javauser@"%"

-> IDENTIFIED BY "javadude" ;

3.创建数据库

mysql> create database javatest;

4.创建表

mysql> use javatest;

mysql> create table testdata (

-> id int not null auto_increment primary key,

-> foo varchar(25),

-> bar int);

5.插入数库

mysql> insert into testdata values(null, ‘hello’, 12345);

Query OK, 1 row affected (0.00 sec)

mysql> select * from testdata;

+—-+——-+——-+

| ID | FOO | BAR |

+—-+——-+——-+

| 1 | hello | 12345 |

+—-+——-+——-+

1 row in set (0.00 sec)

mysql>


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/299.html

  1. 本文目前尚无任何评论.