mysql 创建数据库,添加用户,用户授权

一、创建mysql数据库

1.创建数据库语法

--创建名称为“testdb”数据库,并设定编码集为utf8
CREATE DATABASE IF NOT EXISTS testdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

二、创建用户(mysql是先创建数据库,在创建用户,然后把数据的权限分配给用户;oracle是先创建用户,后创建数据库)

1.新建用户

 --创建了一个名为:test 密码为:1234 的用户
 create user 'test'@'localhost' identified by '1234';

注意:
此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

2.查询用户

--查询用户
select user,host from mysql.user;

3.删除用户

--删除用户“test”
drop user test@localhost ;
--若创建的用户允许任何电脑登陆,删除用户如下
drop user test@'%';

4.更改密码

--方法1,密码实时更新;修改用户“test”的密码为“1122”
set password for test =password('1122');
--方法2,需要刷新;修改用户“test”的密码为“1234”
update  mysql.user set  password=password('1234')  where user='test'
--刷新
flush privileges;

5.用户分配权限

-- 给用户赋值权限,授予用户“test”通过外网IP对于该数据库“testdb”中表的创建、修改、删除权限,以及表数据的增删查改权限
grant create,alter,drop,select,insert,update,delete on testdb.uesr_info to ceshi@localhost identified by '1234'; 
--刷新权限
flush privileges; 

6.查看用户权限

--查看用户“test”
show grants for test;

注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:flush privileges;

**

解决办法 grant all privileges on . to joe@localhost identified by ‘1’;

     flush privileges;

拿 joe 1 登陆

附:

mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

**1.**权限1,权限2,…权限n代表select,insert,update,delete…等14个权限。
2..当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
**3.*当数据库名称.表名称被.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
**4.**用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
5.‘连接口令’不能为空,否则创建失败。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to [email protected] identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on . to [email protected] identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on . to joe@localhost identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

**

你可能感兴趣的:(数据库)