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的易用性 ...
随机推荐
- 关于java异常处理的思考
学习java的过程中,初学者更多的是为了实验而写代码,而不考虑实际情况中的人机交互过程中的一些问题. 在java项目中,更多的用户不会因为你给了某些限制提醒,他就一定会按照你所给的提示来输入或者操作, ...
- [刘阳Java]_程序员Java编程进阶的5个注意点,别编程两三年还是增删改查
此文章也是关注网上好几篇技术文章后,今天分享出来.因为,总有在程序学习路上的小伙伴会感到迷茫.而迷茫存在的情况如下 第一种:在大学学习中出现的迷茫,不知道Java到底要学什么.学习Java的标准是什么 ...
- 【原创】如何通过-y和-v使用库文件
在进行仿真时,经常遇到设计代码中需要调用一些标准的库文件,但是在设计的编译列表filelist中却没有相应的库文件,这时为了完成仿真,需要设计人员提供对应的库文件或者库文件所在的路径,然后仿真时将这些 ...
- Selnium + POM + Pytest:学习记录
简介 selenium POM Pytest 结合,通过Pytest fixture 来传递Driver 保证一个测试用例[1] :driver[1] 学习记录 插件包 selenium: 操作浏览器 ...
- mysql实现主从复制、读写分离的配置方法(一)
1. 测试环境 两个CentOS7虚拟机 mysql 5.5-MariaDB master_ip:192.168.1.109 slave_ip:192.168.1.118 2. 配置主服务器 2.1 ...
- response 重定向
背景: controller层需要重定向到其他html界面时,需要用如下代码 // 设置302状态码 response.setStatus(302); // 设置location响应头 respons ...
- webpack 安装使用简例
1. 新建项目文件夹,如 webpack-demo 2. cd 到安装项目根目录,即进入webpack-demo文件夹,命令行工具输入"npm install webpack webpack ...
- Java 中 this 和 super 的用法详解
前言 这次我们来回顾一下this和super这两个关键字的用法,作为一名Java程序员,我觉得基础是最重要的,因为它决定了我们的上限,所以我的文章大部分还是以分享Java基础知识为主,学好基础,后面的 ...
- 自学linux——9.Linux的权限概述
Linux的权限概述 一. 权限概述 1.权限介绍 在多用户(可以不同时)计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权力,像是文件夹.特定系统指令的使用或存储量的限制 ...
- netty系列之:中国加油
目录 简介 场景规划 启动Server 启动客户端 消息处理 消息处理中的陷阱 总结 简介 之前的系列文章中我们学到了netty的基本结构和工作原理,各位小伙伴一定按捺不住心中的喜悦,想要开始手写代码 ...