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)…

在eclipse中创建第一个java应用程序,并在控制台输出“hello world”。

package com.fs.test;public class HelloWorld {public void aMethod() {}public static void main(String[] args) {System.out.print("Hello world");}}转载于:https://www.cnblogs.com/ooo888ooo/p/11042700.html

R-CNN , Fast R-CNN , Faster R-CNN原理及区别

github博客传送门csdn博客传送门 RCNN 1、生成候选区域 使用Selective Search(选择性搜索)方法对一张图像生成约2000-3000个候选区域,基本思路如下: (1)使用一种过分割手段,将图像分割成小区域 …

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

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

App过大

最近开发中遇到一个报错信息 如下 Error:Cannot fit requested classes in a single dex file.Try supplying a main-dex list. # methods: 72477 > 65536 大致意思是Android App中的方法数超过65535时,如果往下兼容到低版本设备时,就会报编译错误 主…

第三课《让简历有点色彩》

一、学习了css 的概念、工作方式、语法 CSS (Cascading Style Sheets) :是一种用于向用户指定文档如何呈现的语言 — 它们如何被指定样式、布局等工作方式: 浏览器将 HTML 和 CSS 转化成 DOM (文档对象模型)。DOM在计算机内存中表…

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;纯手工打造

使用CEfSharp之旅(8)CEFSharp 使用代理 更换位置IP

直接上代码&#xff1a; var settings new CefSettings(); settings.CachePath "cache"; settings.CefCommandLineArgs.Add("proxy-server", ProxyAddress); Cef.Initialize(settings);出处&#xff1a;https://blog.csdn.net/u010919083/article/detail…

新入驻博客园立一个flag

2019年博客12 * 2篇转载于:https://www.cnblogs.com/chenzy87/p/10233209.html

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…

腾讯地图调用获取经度纬度代码

腾讯地图调用获取经度纬度代码 //腾讯地图拼接好的数据返回经度和纬度 function getPositionInfo($address) { header("Content-type:text/html;charsetutf-8");//你腾讯地图的k值$ak KDSDS-47CDS-G3NU5-DB3TB-21212-5UBD7;$url "http://apis.map.qq.c…

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

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

Python-DDT框架

Install pip install ddt 实例 import unittest from ddt import ddt, data, unpackddt class MyTestCase(unittest.TestCase):data((2, 4), (6, 8))# unpack 说明测试用例有多个参数unpackdef test1(self,value1,value2):self.assertEqual(value2,value12)if __name__ __main…

IT知识库

http://www.it1352.com http://www.itdaan.com/ 转载于:https://www.cnblogs.com/gcgc/p/10233732.html