Mysql 学习笔记5 之 创建用户

1 insert 语句

首先要知道mysql有个user表专门存储用户信息的,按说可以直接向 mysql.user表中插入new user,但是因为字段比较多,外加一些未知的限制,很容易出错 (至少我还没尝试成功);并且如果使用这种方法创建新用户,必须执行 flush privileges 来告诉server to reload the grant tables

相关:

1) 基本语法:

创建用户:

INSERT INTO mysql.user (Host,User,Password)
    -> VALUES('localhost','user_name',password('your_pwd'));
    -> FLUSH PRIVILEGES;

//提示错误 ssl_cipher 没有默认值,但是查询user表 属性是可为NULL;按照官方文档设置相应字段还是提示column count doesn't match value count at row 1 。

授予权限:

INSERT INTO db
    -> (Host,Db,User,Select_priv,Insert_priv,
    ->  Update_priv,Delete_priv,Create_priv,Drop_priv)
    ->  VALUES('localhost','database_name','user_name',
    ->  'Y','Y','Y','Y','Y','Y');
   -> FLUSH PRIVILEGES;

2)user表:

>desc mysql.user;  //查看表结构
>select * from mysql.user;  //查看所有的用户
>select current_user;   //查看当前用户和主机名

2 create/grant 语句

 以 root身份登陆,创建新用户:用户名为dbuser_name,密码为user_pwd

>mysql -u root -p
[input password]

 创建+赋权的标准语法:grant select,insert,update,delete on 数据库.*  to 用户名@登陆主机 identified by 'your_pwd'

>grant all on  *.*  to dbuser_name@"%"  identified by '[user_pwd]'
>grant all privileges on  *.* to dbuser_name@localhost   dentified by '[user_pwd]'

或分开

>create user '用户名'@'主机名identified by 'your_pwd';
>grant all/[privileges] on 数据库名.* to 用户名@'主机名' ;   //即允许某些IP地址的主机(可为远程的主机)通过某用户和密码对MYSQL server上某数据库进行某些权限的访问和操作,其中privileges包括select,insert,update,delete,create,drop

ps:关于主机名的通配符

%:指允许任何ip地址的主机访问mysql server
172.1.1.%或%.mydomain.com :只允许匹配的主机访问mysql
localhost:只允许本机访问

 附:远程访问

1)server端创建用户和数据库和允许访问的主机(如上);关闭防火墙或其他可能限制访问的设置

2)要进行远程访问的本机安装mysql(或client工具);安装myodbc驱动并做相关配置

3)mysql环境下进行远程访问  (>mysql  -h [要访问的mysql server的IP]  -u [user_name] -p [password] )

 

3 新用户登入

cmd路径:

c:\mysql\bin\mysql -h 服务器IP  -u dbuser_name -p
[input password]
>create database database_name;
>create table table_name;

4 修改用户密码(root用户下)

mysql>update mysql.user set password=password('新密码') where user="user_name" and host="localhost"
mysql>flush privileges;

5 删除用户(在root用户下,保证具有删除权限)

 mysql>delete from mysql.user where user="用户名" and host="主机名";

官方文档参考
http://dev.mysql.com/doc/refman/5.1/en/index.html
 
posted @ 2013-04-17 17:04  bubu_步步  阅读(214)  评论(0编辑  收藏  举报