谷动谷力

标题: mysql 创建数据库 添加用户 用户授权 删除数据库 命令操作 [打印本页]

作者: sunsili    时间: 2022-1-14 23:50
标题: mysql 创建数据库 添加用户 用户授权 删除数据库 命令操作
本帖最后由 sunsili 于 2022-1-14 23:55 编辑

mysql 创建数据库 添加用户 用户授权 删除数据库 命令操作


一、创建mysql数据库

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


二、创建用户

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

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

2.查询用户

--查询用户
  1. select user,host from mysql.user;
复制代码


3.删除用户

--删除用户“test”
  1. drop user test@localhost ;
复制代码


--若创建的用户允许任何电脑登陆,删除用户如下
  1. drop user test@'%';
复制代码


4.更改密码

--方法1,密码实时更新;修改用户“test”的密码为“1122”
  1. set password for test =password('1122');
复制代码


--方法2,需要刷新;修改用户“test”的密码为“1234”
  1. update  mysql.user set  password=password('1234')  where user='test'
复制代码


--刷新
  1. flush privileges;
复制代码


5.用户分配权限

--授予用户test通过外网IP对数据库“testdb”的全部权限
  1. grant all privileges on `testdb`.* to 'test'@'%' identified by '1234';  
复制代码
(在上述的sql语句中,数据库名称使用的是单引号而不是反引号,所以会就报了这个错误出来。)

--授予用户test通过本地访问对数据库“testdb”的全部权限
  1. grant all privileges on `testDb`.* to 'omjDa'@'localhost' identified by '1234';
复制代码
(在上述的sql语句中,数据库名称使用的是单引号而不是反引号,所以会就报了这个错误出来。)

--授予用户“test”通过外网IP对于该数据库“testdb”中表的创建、修改、删除权限,以及表数据的增删查改权限
  1. grant create,alter,drop,select,insert,update,delete on` testdb.*` to test@'%';
复制代码


--刷新权限
  1. flush privileges;
复制代码

     
6.查看用户权限

--查看用户“test”
  1. show grants for test;
复制代码


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

7.删除数据库

--删除数据库

  1. drop database <数据库名>;
复制代码
不到万不得已,别用它“删库跑路”



作者: sunsili    时间: 2022-1-14 23:58
grant all privileges on `testdb`.* to 'test'@'%' identified by '1234';   单引号引发错误:
ERROR 1064 (42000): You have an error in your SQL......  
(在上述的sql语句中,数据库名称使用的是单引号而不是反引号,所以会就报了这个错误出来。)





欢迎光临 谷动谷力 (http://bbs.sunsili.com/) Powered by Discuz! X3.2