MySQL常用权限操作
MySQL常用权限操作
** ubuntu mysql 8.0.21修改root密码 **
1、查看默认安装密码:
sudo cat /etc/mysql/debian.cnf
2、 登录mysql
mysql -u debian-sys-maint -p
3、更新密码并刷新权限
mysql> use mysql;
mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql> mysql_native_password BY '你的密码';
mysql> flush privileges;
5.7版本操作
添加用户:
// 允许指定ip连接
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
create user '新用户名'@'localhost' identified by '密码';
// 不限制 IP(用通配符%表示)
create user '新用户名'@'%' identified by '密码';
CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456';
CREATE USER 'javacui'@'%' IDENTIFIED BY '123456';
CREATE USER 'javacui'@'%' IDENTIFIED BY '';
CREATE USER 'javacui'@'%';
授权
// 基本格式如下
grant all privileges on 数据库名.表名 to '新用户名'@'指定ip' identified by '新用户密码' ;// 允许访问所有数据库下的所有表
grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' ;
// 指定数据库下的指定表
grant all privileges on test.test to '新用户名'@'指定ip' identified by '新用户密码' ;
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
设置用户操作权限
// 设置用户拥有所有权限也就是管理员
grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
// 查询权限
grant select on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
// 设置用户拥有查询插入的权限 (其它操作权限说明,select查询 insert插入 delete删除 update修改)
grant select,insert on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION;
// 去掉查询权限
REVOKE select ON what FROM '新用户名';
之前版本:
注:除了新建用户INSERT 和更新密码其他命令可以用(因为 user 表的 password 字段变成 authentication_string)
常用:更新密码
(SQL命令控制台执行)
UPDATE user SET PASSWORD=PASSWORD('123456') WHERE USER='ROOT' AND HOST='%';
或者(SQL命令控制台执行)
SET PASSWORD FOR root@localhost= PASSWORD('123456');
当前用户简单
SET PASSWORD = PASSWORD("newpassword");
或者(下面这个shell中执行,输入原密码和新密码)
mysqladmin -u root -p old_password password new_password
常用:赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
注:'root' @'%',root为你要修改的SQL用户名,%为ip,%表示权限开发所有IP都可访问,如果有具体的IP,改成IP地址即可。
** 修改完密码后记得刷新权限 **
FLUSH PRIVILEGES;
1.新建用户
mysql -u root -p
Enter password:
输入密码登录。
创建用户:
mysql> INSERT INTO mysql.user(Host, User, Password) VALUES ("localhost", "test", PASSWORD("123456"))
这样就创建了一个名为:test 密码为:123456的用户。
注意:此 localhost 指该用户只能在本地登录,不能远程登录。如果想远程登录的话,将 localhost 改为 %,表示不限制 ip。也可指定 某机器 / ip 可以远程登录。
然后登录试试:
mysql> exit;
$ mysql -u test -p
Enter password:
2. 为用户授权
授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
(1) 登录MYSQL(有ROOT权限),这里以ROOT身份登录:
mysql -u root -p
(2) 首先为用户创建一个数据库(testDB):
mysql>CREATE DATABASE test_db;
(3) 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):
mysql> GRANT ALL PRIVILEGES ON test_db.* TO test@localhost IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES; //刷新权限
(4) 如果想指定部分权限给一用户,可以这样来写:
mysql> GRANT SELECT,UPDATE ON test_db.* to test@localhost IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES; //刷新权限
(5) 授权test用户拥有所有数据库的某些权限:
mysql> GRANT SELECT,DELETE,UPDATE,CREATE,DROP ON *.* to test@"%" identified by "123456";
3. 删除用户
mysql> DELETE FROM user WHERE User = 'test' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> DROP DATABASE test_db; //删除用户的数据库
最后删除账户及权限:
mysql> DROP USER 用户名@'%';
mysql> DROP USER 用户名@localhost;
MySQL常用权限操作的更多相关文章
- mysql用户权限操作
mysql用户权限操作1.创建用户mysql -urootcreate database zabbix default charset utf8;grant all on zabbix.* to za ...
- Mysql常用表操作 | 单表查询
160905 常用表操作 1. mysql -u root -p 回车 输入密码 2. 显示数据库列表 show databases 3. 进入某数据库 use database data ...
- Mysql常用基础操作(备忘录)
常常忘记mysql的一些命令行操作,甚至于说,比较复杂的sql格式记不住或忘记了,也可能根本不会考虑去记,因此,做一下汇总,当下次出现恍惚时不至于去百度挨个找,有时就是记不起来,但是只要给点药引子,立 ...
- mysql常用的操作
数据库的常用操作:create database db1; #创建数据库show databases; #查看所有数据库show create database db1;#查看创建的指定数据库alte ...
- mysql常用语法操作
一.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...
- MySql常用数据操作
1.数据库操作: MySQL服务管理命令: 1.启动服务:sudo service mysql start 2.停止服务:sudo service mysql stop 3.重新启动服务:sudo s ...
- mysql数据权限操作
1.创建新用户 通过root用户登录之后创建 >> grant all privileges on *.* to testuser@localhost identified by &quo ...
- Mysql 常用数据库操作
一.数据库操作: 1.查看数据库: >SHOW DATABASES; 2.创建数据库: >CREATE DATABASE db_name; //db_name为数据库名 3.使用数据库: ...
- MySQL常用的操作整理
MySQL是一个十分轻便的dbms,轻便.灵活,更适用于中小型数据的存储与架构.MySQL被数以万计的网站采用,从5版本以后,陆续支持了游标.触发器.事务.存储过程等高级应用,这也给MySQL的易用性 ...
随机推荐
- final修饰符(6)-final类
final修饰的类不可以有子类,例如:java.lang.Math类就是一个final类,它不可以有子类 子类继承父类,可以访问父类的内部数据,可以重写父类的方法来改变父类方法的实现细节,可能导致不安 ...
- Python基础之subprocess
前言 subprocess这个函数很好用,类似于控制台执行,功能很多,今天先介绍subprocess调用exe,并行调用两个或两个以上的exe. Subprocess调用exe 调用exe有几种方式, ...
- (opencv01)读入图像
(opencv01)Opencv之读入图像 读入图像 img = cv2.imread(filepath, flags) filepath : 要读入图片的完整路径 flags : 读入图片的标志 ...
- Web实时更新客户端数据
1 轮询方式实现客户端数据及时更新 在基于Web的即时通信.股票行情这样的系统中,需要客户端能够及时更新内容.由于B/S架构的特性(Http连接是无状态连接, 即服务器处理完客户的请求, ...
- Discuz 7.x/6.x 全局变量防御绕过导致代码执行
地址 http://192.168.49.2:8080/viewthread.php?tid=13&extra=page%3D1 安装成功后,找一个已存在的帖子,向其发送数据包,并在Cooki ...
- XSS challenges靶机
第一关 <script>alert(123)</script> "><svg onload=alert(123)> 第二关 <script&g ...
- SpringMVC 源码解析笔记
作者笔记仓库:https://github.com/seazean/javanotes 欢迎各位关注我的笔记仓库,clone 仓库到本地后使用 Typora 阅读效果更好. 一.调度函数 请求进入原生 ...
- 庆FastGithub加入.NET Core Community
.NET Core Community .NET Core Community是一个基于并围绕着 .NET 技术栈展开组织和活动的非官方.非盈利性的民间开源社区,提供了很多优秀的 .NET 开源项目. ...
- docker容器网络bridge
我们知道docker利用linux内核特性namespace实现了网络的隔离,让每个容器都处于自己的小世界里面,当这个小世界需要与外界(宿主机或其他容器)通信的时候docker的网络就发挥作用了,这篇 ...
- 【LeetCode】738. 单调递增的数字
738. 单调递增的数字 知识点:字符串:贪心 题目描述 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x ...