账户管理

  • 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crud
  • MySQL账户体系:根据账户所具有的权限的不同,MySQL的账户可以分为以下几种
    • 服务实例级账号:,启动了一个mysqld,即为一个数据库实例;如果某用户如root,拥有服务实例级分配的权限,那么该账号就可以删除所有的数据库、连同这些库中的表
    • 数据库级别账号:对特定数据库执行增删改查的所有操作
    • 数据表级别账号:对特定表执行增删改查等所有操作
    • 字段级别的权限:对某些表的特定字段进行操作
    • 存储程序级别的账号:对存储程序进行增删改查的操作
  • 账户的操作主要包括创建账户、删除账户、修改密码、授权权限
    注意:
    1.进行账户操作时,需要使用root账户登录,这个账户拥有最高的实例级权限
    2.通常都使用数据库级操作权限

授予权限

需要使用实例级账户登录后操作,以root为例
主要操作包括:

  • 查看所有用户
  • 修改密码
  • 删除用户

1. 查看所有用户

  • 所有用户及权限信息存储在mysql数据库的user表中
  • 查看user表的结构
    desc user;
  • 主要字段说明:
  • Host表示允许访问的主机
  • User表示用户名
  • authentication_string表示密码,为加密后的值
    查看所有用户
    select host,user,authentication_string from user;
    结果
    mysql> select host,user,authentication_string from user;

    +-----------+------------------+-------------------------------------------+
    | host      | user             | authentication_string                     |
    +-----------+------------------+-------------------------------------------+
    | localhost | root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
    | localhost | mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | localhost | debian-sys-maint | *EFED9C764966EDB33BB7318E1CBD122C0DFE4827 |
    +-----------+------------------+-------------------------------------------+
    3 rows in set (0.00 sec)
    

2. 创建账户、授权

  • 需要使用实例级账户登录后操作,以root为例
  • 常用权限主要包括:create、alter、drop、insert、update、delete、select
  • 如果分配所有权限,可以使用all privileges

2.1 创建账户&授权

grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密码';

2.2 示例1

创建一个laowang的账号,密码为123456,只能通过本地访问, 并且只能对jing_dong数据库中的所有表进行读操作

step1:使用root登录

mysql -uroot -p

回车后写密码,然后回车

step2:创建账户并授予具体权限

grant select on jing_dong.* to 'laowang'@'localhost' identified by '123456';

说明:

  • 可以操作python数据库的所有表,方式为:jing_dong.*
  • 访问主机通常使用 百分号% 表示此账户可以使用任何ip的主机登录访问此数据库
  • 访问主机可以设置成 localhost或具体的ip,表示只允许本机或特定主机访问
  • 查看用户有哪些权限
    show grants for laowang@localhost;

step3:退出root的登录
quit

step4:使用laowang账户登录
mysql -ulaowang -p

回车后写密码,然后回车

  • 登录后效果如下图

2.3 示例2

创建一个laoli的账号,密码为12345678,可以任意电脑进行链接访问, 并且对jing_dong数据库中的所有表拥有所有权限
grant all privileges on jing_dong.* to "laoli"@"%" identified by "12345678"

账户操作:

1. 修改权限
grant 权限名称 on 数据库 to 账户@主机 with grant option;

2. 修改密码

使用root登录,修改mysql数据库的user表

  • 使用password()函数进行密码加密
  • update user set authentication_string=password('新密码') where user='用户名';
    例:
    update user set authentication_string=password('123') where user='laowang';
  • 注意修改完成后需要刷新权限
  • 刷新权限:flush privileges

3. 远程登录(危险慎用)

如果向在一个Ubuntu中使用msyql命令远程连接另外一台mysql服务器的话,通过以下方式即可完成,但是此方法仅仅了解就好了,不要在实际生产环境中使用

修改 /etc/mysql/mysql.conf.d/mysqld.cnf 文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf

然后重启msyql
service mysql restart

在另外一台Ubuntu中进行连接测试

如果依然连不上,可能原因:

  • 网络不通
    通过ping xxx.xxx.xx.xxx可以发现网络是否正常

  • 查看数据库是否配置了bind_address参数
    本地登录数据库查看my.cnf文件和数据库当前参数show variables like 'bind_address';
    如果设置了bind_address=127.0.0.1那么只能本地登录

  • 查看数据库是否设置了skip_networking参数
    如果设置了该参数,那么只能本地登录mysql数据库

  • 端口指定是否正确

4. 删除账户

  • 语法1:使用root登录
    drop user '用户名'@'主机';
    例:
    drop user 'laowang'@'%';
  • 语法2:使用root登录,删除mysql数据库的user表中数据
    delete from user where user='用户名';
    例:
    delete from user where user='laowang';
  • 操作结束之后需要刷新权限
    flush privileges
  • 推荐使用语法1删除用户, 如果使用语法1删除失败,采用语法2方式

3. 忘记 root 账户密码怎么办 !!

  • 一般也轮不到我们来管理 root 账户,所以别瞎卖白粉的心了
    万一呢? 到时候再来查http://blog.csdn.net/lxpbs8851/article/details/10895085

数据分析之MySQL(十二)账户管理相关推荐

  1. 第二十二章 管理是一种文化活动

    第二十二章 管理是一种文化活动 作者:成君忆 第二十二章管理是一种文化活动 古者率民,必先礼信而后爵禄,先廉耻而后刑罚,先亲爱而后律其身.故战者必本乎率身以励众士,如心之使四肢也. ―<尉缭子& ...

  2. MySQL数据库的账户管理

    账户管理 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crud MySQL账户体系:根据账户所具有的 ...

  3. django之二十二--admi管理后台页面的文案展示等相关配置

    一.前言 1.django提供的admin管理后台页面默认是英文展示的页面.我们不喜欢英文的话,可以改下[settings.py]里面的常量[LANGUAGE_CODE]的值为[zh-Hans]使页面 ...

  4. 谷粒学院16万字笔记+1600张配图(十二)——课程管理

    项目源码与所需资料 链接:https://pan.baidu.com/s/1azwRyyFwXz5elhQL0BhkCA?pwd=8z59 提取码:8z59 文章目录 demo12-课程管理 1.微服 ...

  5. PowerShell 2.0 实践(十二)管理 SQL Server 2008 R2(1)

    DBA可以使用的工具很多,对于SQL Server来说,有查询分析器.事件探查器.命令行工具等,其中SQL语句是重中之重,但是PowerShell的出现使得DBA又多了一种选择. 测试脚本下载 本系列 ...

  6. 《深入浅出数据分析》第十二章——R语言lattice数据包

    文章目录 R语言 一.lattice数据包 二.jitter() R语言 这章比较重要的点就是lattice数据包. 然后就着重写一下这里. 一.lattice数据包 lattice包是一个非常强大的 ...

  7. 总结十二:管理经验法则和名言

    管理法则 三思而后行 聪明的方法可以起到事半功倍的效果 不要让别人陷入困境 不要插手没有烦到你的事情 尽早保存,经常保存 管理中的挑战 管理者必须要有能解决问题的能力 管理是和人打交道 必须记得人都是 ...

  8. 超经典的三十二句管理名言

    1.企业管理过去是沟通,现在是沟通,未来还是沟通---松下幸之助 2.企业最大的资产是人---松下幸之助 3.对产品质量来说,不是100分就是0分---松下幸之助 4.用他.就要信任他:不信任他,就不 ...

  9. 一步步学习微软InfoPath2010和SP2010--第十二章节--管理和监控InfoPath Form Services(IPFS)(4)--监控含图片控件的Products表单...

    如本章节前面提到的,你的IPFS表单表现没有你想象的好有很多可能的原因.一个最明显的原因是表单产生太多通信量(因为表单产生的HTML的大小).在许多你使用了大型.笨拙表单的许多方法中,最常见的是让用户 ...

  10. 数据分析统计学原理第十二章:多个比例的比较、独立性及拟合优度检验 | 我的统计学原理复习日记

    个或多个总体比例的相等性的检验 例子: 三个或多个总体比例相等性的卡方检验的一般步骤 多重比较方法 我们使用卡方检验得到三个汽车车主总体的总体比例不全相等的结论.因此,有些总体比例之间存在差异,而且研 ...

最新文章

  1. Android小项目之--前台界面与用户交互的对接 进度条与拖动条(附源码)
  2. Windows下RabbitMQ安装及注意事项
  3. linux_tomcat
  4. 《the way to go》一处关于go匿名函数的“勘误”
  5. 会计电算化的重要物质基础计算机和,湖北工业大学工程技术学院会计电算化管理办法...
  6. Sql Server系列:键和约束
  7. CSS3 Transition介绍
  8. 凸优化第四章凸优化问题 4.2 凸优化
  9. Knockout应用开发指南 第一章:入门
  10. 数据结构与算法之迷宫回溯
  11. 基于云计算的毕业设计题目
  12. 苹果4s怎么越狱教程_苹果iOS 11.4-11.4.1越狱发布:附越狱教程
  13. 天下无贼是假的,天下无票倒是真的;如来神掌是假功夫,能买到车票才是真功夫。
  14. strtol strtoll strtoul strtoull应用
  15. svn设置忽略文件或者文件夹(目录)
  16. [BZOJ4416][Shoi2013]阶乘字符串 状态压缩dp
  17. 张凤莲:换城市工作就一定要转移社保吗?
  18. 如何搭建多功能会议室
  19. 关于UITableView的Cell复用谈谈我的一些心得滴水穿石
  20. 如何进行微距摄影(转)

热门文章

  1. STM32F446RET6产品描述
  2. linux系统触摸板双击,在Ubuntu 18.04系统中搞定触摸板多点触控
  3. archlinux触摸板设置
  4. 记录一次面试经历(深刻)
  5. 手把手教你从零开始腾讯云服务器部署
  6. 原生JS实现弹幕效果
  7. 浅谈交易开拓者程序化
  8. linux添加jetdirect协议,Padavan 路由器固件 不能驱动 hp1005、hp1020之类打印机 foo2zjs ZjStream协议的linux打印机驱动程序...
  9. oracle exclude table,【DATAPUMP】导出时使用exclude排除表
  10. svn环境搭建 linux