mysql之库操作_创建用户_修改用户权限_修改用户密码

用户操作:

1、create user 'Faye'@'127.0.0.1'IDENTIFIED BY '123'  #添加一个用户名字为Faye的用户,127.0.0.1为本机的ip,123为密码

    补:create user 'Faye'@'%' IDENTIFIED BY '123'  #添加一个用户名字为Faye的用户,‘%’的意思为所有人都可以连接Faye这个用户,123为密码

2、show grants for 'Faye'@'127.0.0.1'; #查看Faye这个用户的权限

3、grant select,update on db1.stu_info to 'Faye'@'127.0.0.1';  #将另外一个用户中的库下的表db1中的stu_info的查找(select)和修改(update)的权限赋给Faye这个用户

4、grant all privileges on *.* to 'Faye'@'127.0.0.1'; #给'Faye'@'127.0.0.1'用户下的所偶有库所有表授权,*.*表示所有库所有表

5、revoke all privileges on *.* from 'Faye'@'127.0.0.1' #移除Faye用户下所有库所有表的权限

6、drop user 'Faye'@'127.0.0.1';  #移除用户'Faye'@'127.0.0.1'

7、rename user 'Faye'@'127.0.0.1' to 'min@127.0.0.1'  #修改 'Faye'@'127.0.0.1' t为'min@127.0.0.1'  即只是修改了用户名

 

8、实际操作,开放外部访问权限

create user 'Faye'@'%' IDENTIFIED BY '123';  #添加一个所有人都可以连接的用户Faye 密码为123

grant all privileges on *.* to 'Faye'@'%';  #对方可以连接Faye中所有的库和所有的表

flush privileges;   #刷新一下才可以生效,否则只对本机可用

9、修改密码方式一:用mysqladmin为用户修改密码

10、修改密码方式二:

set password for 'Faye'@'%' = password('166'); #将'Faye@'@'%'用户的密码修改为166

 

11、修改密码方式三:update mysql.user set password =password('123') where user='Faye'   (用于mysql5.6版本)

                                    flush PRIVILEGES     #刷新一下才会生效

                                    update mysql.user set authentication_string =password('123') where user='Faye'     (用于mysql5.7版本)

                                    flush PRIVILEGES     #刷新一下才会生效

以下转自博客:http://www.cnblogs.com/wangfengming/articles/7875313.html#label1

阅读目录:

  • 一 系统数据库
  • 二 数据库操作
  • 三 命名规范
  • 四 用户权限
  • 五.修改密码
  • 六 忘记密码
  • 七 中文乱码问题

一.系统数据库

  • information_schema :虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
  • mysql:核心数据库,里面包含用户、权限、关键字等信息。不可以删除
  • performance_schema:mysql 5.5版本后添加的新库,主要收集系统性能参数,记录处理查询请求时发生的各种事件、锁等现象 
  • sys : mysql5.7版本新增加的库,通过这个库可以快速的了解系统的元数据信息,可以方便DBA发现数据库的很多信息,解决性能瓶颈都提供了巨大帮助

二.数据库操作

1.创建数据库

1
#语法: CREATE DATABASE db_name charset utf8;
#创建一个名字为 db_name 的数据库,并指定当前库的编码集为utf8

CREATE DATABASE db_name charset utf8;
示例

 

2.查看数据库

复制代码
#查询当前用户下所有数据库
show databases;#查看创建数据库的信息
show create database db_name;#查询当前操作所在的数据库名称
select database();
复制代码

3.选择数据库

1
USE db_name;

4.删除数据库

1
DROP DATABASE db_name;

 三.命名规范  

复制代码
可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如: CREATE SELECT
不能单独使用数字
最长128位
复制代码

四.用户权限

1.用户管理

1
2
3
4
5
6
创建用户
    create user '用户名'@'IP地址' identified by '密码';
删除用户
    drop user '用户名'@'IP地址';
修改用户
    rename user '用户名'@'IP地址'to '新用户名'@'IP地址';

2.授权管理

1
2
3
show grants for '用户'@'IP地址'                  -- 查看权限
grant  权限 on 数据库.表 to   '用户'@'IP地址'      -- 授权
revoke 权限 on 数据库.表 from '用户'@'IP地址'      -- 取消权限

 

 1 #创建新用户
 2 create user 'alex'@'localhost' identified by '123456';
 3 
 4 #授权方式一:为alex授权 db1数据库下的所有表的 查询.更新.修改权限
 5 grant select,update,delete on db1.*  to 'alex'@'localhost';
 6 
 7 #授权方式二:为alex 授权 所有库的所有权限(除grant权限外)
 8 grant all privileges on *.*  to 'alex'@'localhost';
 9 
10 #刷新用户权限
11 flush privileges;
创建用户及授权示例
all privileges  除grant外的所有权限select          仅查权限select,insert   查和插入权限...usage                   无访问权限alter                   使用alter tablealter routine           使用alter procedure和drop procedurecreate                  使用create tablecreate routine          使用create procedurecreate temporary tables 使用create temporary tablescreate user             使用create user、drop user、rename user和revoke  all privilegescreate view             使用create viewdelete                  使用deletedrop                    使用drop tableexecute                 使用call和存储过程file                    使用select into outfile 和 load data infilegrant option            使用grant 和 revokeindex                   使用indexinsert                  使用insertlock tables             使用lock tableprocess                 使用show full processlistselect                  使用selectshow databases          使用show databasesshow view               使用show viewupdate                  使用updatereload                  使用flushshutdown                使用mysqladmin shutdown(关闭MySQL)super                   使用change master、kill、logs、purge、master和set global。还允许mysqladmin调试登陆replication client      服务器位置的访问replication slave       由复制从属使用
权限列表

 

五.修改密码

方式一: mysqladmin 命令

1
mysqladmin -u用户名 -p密码 password 新密码

方式二: 直接设置用户密码 

1
2
3
set password for '用户名'@'IP' password('新密码');
             
flush privileges;

方式三:修改mysql库下的user表

1
2
3
4
5
6
7
5.7版本修改密码方式:
update mysql.user set authentication_string=password('新密码'where user'用户名'          
flush privileges-- 刷新权限
             
5.6 版本
update mysql.user set password password('新密码'where user'用户名'
flush privileges-- 刷新权限

六.忘记密码(只对本机生效)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
在忘记root密码的时候,可以这样:
 
#1.首先打开cmd 窗口,关闭mysql服务
    net stop mysql
 
#2.然后跳过权限检查,启动mysql,输入命令
    mysqld --skip-grant-tables
 
#3.重新打开一个新的cmd窗口,启动客户端(已跳过权限检查,可以直接登录)
    mysql
 
#4.直接进来,修改密码
update mysql.user set authentication_string=password('123456'where user='root';
 
#5. 刷新权限
flush privileges;

七.中文乱码问题

1.查询字符编码

1
SHOW VARIABLES LIKE 'char%';

2.制服乱码

#修改方法:
#1. 创建my.ini文件,放在mysql根路径下
#2. 在该文件中添加以下内容即可:
#3.添加此文件后需要重新启动服务,以保证此文件生效
------------------------------------------------------------
[client]default-character-set=utf8[mysql]#设置mysql客户端默认字符集

default-character-set=utf8[mysqld]#设置3306端口

port = 3306#允许最大连接数

max_connections=200#服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8#创建新表时将使用的默认存储引擎

default-storage-engine=INNODB#解决mysql在执行sql语句后出现1055错误,sql_mode = only_full_group_by不相容

sql_mode='NO_ENGINE_SUBSTITUTION'
乱码已死

 

 注意:如果使用的是mysql5.7版本,则需要创建my.ini文件,5.7版本以前数据库自带my,ini文件,直接改动编码即可.

 目前最稳定与常用的数据库版本为(5.6版本与5.5版本)

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/YiYA-blog/p/10227176.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端导出文件,后端返回文件流过大直接干崩溃

前端导出文件 前端很常见的导出需求 导出world xlsx 甚至是zip 在我这个项目中是导出图片,图片量还是蛮大的,直接干崩溃了 我们这里是后端同学直接返回的是文件流 通过调用接口拿到文件流后直接调用下面的方法 export function exportZip(res, name)…

Vue和iview-admin搭建的项目进行兼容

写在前面: 用iview-admin创建的基于Vue的项目,开发完成后,用户是使用的360浏览器,其中有两个模式,一个是极速模式(谷歌内核),一个是兼容模式(IE内核)&#x…

Vue 打包后打开为空白页面 并且控制台报错‘Failed to load resource: net::ERR_FILE_NOT_FOUND’

问题描述 当我们开发完成后进行 npm run build打包后形成dist文件 我们通过访问dist文件中的index,会出现空白页面什么都不显示的问题,控制台中还会报‘Failed to load resource: net::ERR_FILE_NOT_FOUND’错误,其实是因为打包后的dist目录…

引用Nuget包Microsoft.EntityFrameworkCore.Tools.DotNet报错

错误如下 解决方法 使用VS2017或更高版本在改项目右键&#xff0c;选择“编辑xxx.csproj”&#xff0c;并添加如下一句话&#xff0c;就可以成功引用改Nuget包 <PackageReference Include"Microsoft.EntityFrameworkCore.Tools.DotNet" Version"2.0.3"/…

echarts 折线图 多条折线数据相同时展示的图形并没有重合

简单粗暴的使用echarts官网展示用例 我讲series中的几个对象中的值都改成了相同的 看到数值相同 图表中却没有重合 后面发现解决办法如下 只需要将对象中的stack属性删除就可以了&#xff0c;不仅仅针对这个问题 有时候我们发现图表展示的数据跟y周的值有差距时可以试试这个…

Django,ajax实现表格增删查改,Django内置分页功能。

1.工程目录 2.urls.py """Django_ajax URL ConfigurationThe urlpatterns list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/2.1/topics/http/urls/ Examples: Function views1. Add an import: from my_app im…

前端登录逻辑

话不多说直接上图片&#xff0c;纯手工打造

echarts 多次通过setOption改变图形数据时 数据有时不进行变化

需求&#xff1a;通过切换xyz三个选项&#xff0c;进行切换统计图中的折线条数 当前数据为正确&#xff0c;页面加载默认选中x轴&#xff0c;当选中xy后也没有问题 当我取消y轴时 发现图表并没有进行变化 但是option中的数据确实已经刷新了&#xff0c;猜测是在setOption时候…

2019春总结作业

2019春总结作业 一丶我学到的内容 &#xff08;整理本课程所学&#xff0c;用思维导图的方式,思维导图的工具可以使用&#xff1a;XMind&#xff09; 二丶我的收获&#xff08;包括我完成的所有作业的链接收获&#xff09; 在这个星期里&#xff0c;我们专业的学生在专业老师的…

【数据结构入门精讲 | 第十七篇】一文讲清图及各类图算法

在上一篇中我们进行了的并查集相关练习&#xff0c;在这一篇中我们将学习图的知识点。 目录 概念深度优先DFS伪代码 广度优先BFS伪代码 最短路径算法&#xff08;Dijkstra&#xff09;伪代码 Floyd算法拓扑排序逆拓扑排序 概念 下面介绍几种在对图操作时常用的算法。 深度优先D…

安装一个插件、回馈给你一款属于猿的绚丽浏览器

不知道大家有没有了解&#xff0c;由CSDN推出的一款CSDN浏览器助手&#xff0c;其实哈就我个人而言对一些助手、插件还是很有兴趣的&#xff0c;毕竟他能够让我们快速高效的去完成我们的操作。但是一直没有找到一款称心如意的&#xff0c;知道遇见了这款CSDN浏览器助手让我爱不…

《看完它面试必solo | 寻找C站宝藏》

今天给大家搂点干货&#xff0c;2020 年 9 月 18 日晚 11 点半发布了 Vue 3.0 版本。到目前已经很多公司开始鼓励大家去学习Vue3了&#xff0c;在这里小编就把自己所了解到的‘皮毛’贡献给大家 Vue3.0 的突出亮点 Performance&#xff1a;性能比Vue2快1.2~2倍Tree shaking s…

KVC/KVO 本质

KVO 的实现原理 KVO是关于runtime机制实现的当某个类的对象属性第一次被观察时&#xff0c;系统就会在运行期动态地创建该类的一个派生类&#xff0c;在这个派生类中重写基类中任何被观察属性的setter方法。派生类在被重写的setter方法内实现真正的通知机制如果原类为Person&am…

攻破 程序员35岁 “瓶颈” 那都不是事!

我正在参与CSDN《新程序员》有奖征文&#xff0c;点击和我一起参与吧 下面呢&#xff0c;我就在这里给大家讲述一下我的经历吧。 初衷 作为程序猿的我们&#xff0c;初衷在哪里&#xff0c;高薪&#xff1f;体面&#xff1f;热爱&#xff1f;曾经有一个同学聊天中说到这个话…

Vue项目中引用‘阿里巴巴字体图标库iconfont’

1.前言 在实际开发中&#xff0c;作为前端开发人员的我们经常会遇到下面这种ui图 我们看到在上面两个平台设计图中的出现了大量的图标&#xff0c;在某种情况下&#xff0c;这种图标是需要我们自己去找的&#xff0c;不要喷我们的 ui 哈&#xff0c;主要是我喜欢麻烦 哈哈&…

项目流程

转载于:https://www.cnblogs.com/Koma-vv/p/10243286.html

最详细的讲解 JS 原型与原型链

文章目录一. 普通对象与函数对象二. 构造函数三. 原型对象四. proto五. 构造器六. 原型链七. Prototype总结一. 普通对象与函数对象 JavaScript 中&#xff0c;万物皆对象&#xff01;但对象也是有区别的。分为普通对象和函数对象&#xff0c;Object 、Function 是 JS 自带的函…

jmeter分布式压测原理简介1

1、什么叫分布式压测&#xff1f; 分布式压测&#xff1a;模拟多台机器向目标机器产生压力&#xff0c;模拟几万用户并发访问 2、分布式压测原理&#xff1a;如下 3、更多补充.....待添加 转载于:https://www.cnblogs.com/yoyoblogs/p/11071774.html

十三 re模块

一&#xff1a;什么是正则&#xff1f; 正则就是用一些具有特殊含义的符号组合到一起&#xff08;称为正则表达式&#xff09;来描述字符或者字符串的方法。或者说&#xff1a;正则就是用来描述一类事物的规则。&#xff08;在Python中&#xff09;它内嵌在Python中&#xff0c…

带你玩转 ui 框架 ——scoped及样式穿透问题详解

前言 在我们前端的开发中经常会使用到各种 ui 框架 下面这两个是比较火的&#xff0c;也是我常用的两个ui框架。 问题描述 但是在使用框架的时候难免会遇到需要改变组件中的一些样式&#xff0c;当然如果我们所有页面的组件样式都是统一的话&#xff0c;我们可以进行全局设置…