数据库管理员密码的设置

 

表记录的格式:

 

 

一、数据库管理员密码的设置

     1、设置数据库管理员的初始密码

        默认情况下,数据库管理员在本机登陆时不需要密码

        [root@server1 ~]# mysqladmin  –hlocalhost -uroot  password  “xxxxx”         

        [root@server1~]# mysql  -hlocalhost  -uroot -pxxxxx                        

        注:密码用双引号括起来password加密,密文保存在mysql数据库的user表里

     2、重置数据库管理员的密码

                         [root@server1~]#mysqladmin  –h数据库IP/主机名  -u数据库管理员名  –p password  “xxx”  //输入正确的旧密码,新密码设置才能成功                  

     3恢复数据库管理员密码

       1)修改主配置文件/etc/my.cnf

       [mysqld]                                                                

skip-grant-table=1  // 登录时跳过授权库                                   

         2)登录后修改密码

mysql>updatemysql.user set password=password(‘123’) where user=’root’ and host=’localhost’                                                          

      3)手动修改授权库下的表后执行flushprivileges;命令使之生效

二、用户授权和权限撤销

1、默认情况下只有数据库管理员从本机登录时才有权限授权

    Select user();  查看当前登录用户

    Show grants for 用户名@“客户端地址”;//管理员root查看授权用户的授权信息

    Desc mysql.user   

mysql> show grants;  //登陆账号查看自己的权限                            

mysql>grant  权限列表  on  数据库名 to  用户名@”客户端地址”  identified  by  “密码”  with  grant  option   //授权命令                             

mysql>select user,host,password frommysql.user;  //查看当前服务器上的授权用户

mysql>show grants for root@”192.168.10.2”  //查看用户的权限

 

权限列表表示:授权用户登录后,在数据库服务器上可以执行的操作

all—所有权限、select,delete,update 指定有某种权限

select,update(name,sex,age)  指定有某种权限

              

数据库名表示方式:授权用户登陆后,可以操作的库

 *.*               服务器上的所有库所有表

                   数据库名.表名     某个库下的某个表

                   数据库名.*        某个库里的所有表

                   数据库不一定事先存在

用户名表示方式:管理员授权时自定义的用户名(mysql.user,要有标识性,与系统账号(/etc/passwd)无关,用户受完权后信息保存到mysql.user 表里,是连接数据库服务器时使用的名字

客户端地址表示默认所有客户端地址

%(所有主机)、某个IP地址、某个网段(192.168.10.%)、主机名(数据库服务器能够解析主机名)、区域(%.tarena.com)

identified by ‘密码:设置授权用户连接服务器时使用的密码,是可选项,若不写此选项,用户登录时不需要密码

with grant option :授权用户是否有授权权限,是可选项,若不写,用户没有授权权限

 

练习:授权数据库管理员root账号可以从地址是192.168.10.2主机连接数据库服务器192.168.10.254,连接密码是666,对所有库所有表有完全权限,且有授权的权限;允许webuser账户从网络中的所有主机访问数据库服务器,只对数据库服务器上的webdb有完全权限,密码888

mysql>setpassword=password('新密码');  //授权用户登陆后修改自己的密码                                   

mysql>set password for 用户@'客户端地址'=password('新密码'); //管理员重置授权用户的密码                                                            

mysql>grant all on webdb.*to root@'192.168.10.1' identified by 'tarena' with grant option;//不能授权,因为授权信息要写到mysql库中,而root@'192.168.10.1'mysql库没有写的权限

3、mysql库下的表

   user:对用户的授权信息--

   db:库的权限信息

   tables_priv:表的权限信息

   columns_priv:字段的权限信息

4、权限撤销 (默认只有数据库管理员从数据库本机登录有撤销权限的权限。)

revoke 权限列表 on 数据库名.表名from 用户名@’客户端地址’;  

revoke insert,delete  on *.*  from  root@”192.168.1.100”;     

revoke grant option on数据库名.表名from 用户名@’客户端地址’;   //撤销用户的授权权限

释例:

grant  all on  *.*  to  root@"192.168.1.100" identified by "888" with grant  option ;    //授权root用户从192.168.1.100登录时,对所有数据库具有所有权限,并且具有授权权限。

revoke  权限列表  on  数据库名   from  用户名@"客户端地址"

 

revoke  insert,delete on  *.*  from root@"192.168.1.100";

 

   revoke all  on  mysql.* from  root@"192.168.1.100";//这个命令不会成功执行,虽然上面命令给这IP地址授予对所有数据库具有完全权限,但没有具体对mysql库授权,故这个命令不成立。

revoke  all  on  *.*  from root@"192.168.1.100";

*对目标对象有过授权才能撤销授权。

 

 

mysql>flush privileges;

注:只有对目标对象做过授权才能取消权限

5、删除授权用户

   delete from mysql.user whereuser=’xxx’;

注:mysql.user 保存用户的授权信息

   

授权对mysql 有完全权限且有授权权限时,用户对其他库无授权权限

 

 

注意:

    不允许数据库管理员从数据库本机登录

    授权可以使用数据库管理员从自己工作的PC登录服务器 *.* all with grant option

给网站开发任意开发授权用户

1.设置数据库服务器管理员密码

数据库管理员默认名叫root

 

1.忘记数据库管理员密码怎么办?

[root@localhost ~]#service mysql stop  //先停止mysql服务

 

[root@localhost ~]#service mysql start--skip-grant-table  //启动mysql服务,用--skip-grant-table实现在启动服务时“跳过mysql授权库里的user用户账户信息表

 

[root@localhost ~]mysql   //输入mysql然后回车进入

 

mysql>desc mysql.user;   //查看mysql.user表结构

 

mysql>select user,host,password from mysql.user;   //因为mysql.user目前就一个用户root, 所以搜索'user用户'"host主机名""password密码" 查看一下

 

mysql>update mysql.user setpassword=password("123") where user=”root” and host=”localhost”; //配置密码   update更新一下user表里的字段password的数据,更新的密码123

mysql >flush privileges;  //刷新

mysql>exit  //退出

 

[root@localhost ~]#service mysql restart    //重启服务

 

[root@localhost ~]mysql -root -p123    //用新密码进入

 

 

2.重置管理员密码  

需要有MySQL-client-5.6.15-1.el6.x86_64.rpm这个包,mysqladmin这个命令才能用

 

[root@localhost ~]# mysqladmin -uroot -p password  "123456"   //设置新密码为“123456

Enter password:     //输入旧密码回车,旧密码正确新密码才能设置成功

[root@localhost ~]# 

[root@localhost ~]# mysql -uroot -p123456   //用新密码进入  

数据库授权的前期环境配置

 

1.用两台linux6.4做实验,确保互相能ping

2.临时关闭selinux

3.永久关闭selinux  【进vim /etc/sysconfig/selinux  配置配置SELINUX=disabled

 

步骤操作:

ping  数据库服务器ip地址

 

[root@localhost~]# service iptables stop   //停用防火墙

iptables:清除防火墙规则:                                 [确定]

iptables:将链设置为政策 ACCEPTfilter                    [确定]

iptables:正在卸载模块:                                   [确定]

[root@localhost~]# chkconfig  --level 35 iptablesoff   //下次开机不启动防火墙

[root@localhost~]# setenforce  0   //临时关闭selinux

[root@localhost~]# vim /etc/sysconfig/selinux   //永久关闭selinux

[root@localhost~]# grep disable /etc/sysconfig/selinux

#     disabled - No SELinux policy is loaded.

SELINUX=disabled        // 配置SELINUX=disabled

[root@localhost ~]#getenforce    //查看selinux的运行级别

Permissive

 

二、mysql数据库服务器登录账户的授权和权限撤销

 

默认情况下数据库管理员只能从数据库服务器本机登陆。

默认情况下数据库管理从服务器本机登陆的时候才有授权权限。

 

2.1用户授权

show grants;    //登陆账号查看自己的权限

select user,host,password  from mysql.user;   //查看当前数据库有哪些授权用户账号

 

show grants  for  root@'192.168.10.20';    //查看授权用户账号root的权限

 

2.2授权命令的语法格式:

 

mysql> grant 权限列表  on  数据库 to 用户名@"客户端地址

     >identified  by "密码"  with grant option;

例子:

mysql> grant all on *.* to  root@"192.168.10.10"

mysql>identified  by "888" ,

mysql>with grant option;   //可选项,含义是授权给某个用户

 

对语法格式解释如下:

 

权限列表:(授权用户登陆之后有什么样的权限)

usage   无权限【除有浏览权限外,无其他权限】

all      所有权限

select,delete,update(字段名1,字段名2)

      

数据库名:(授权用户可以操作的库)

*.*    //服务器上的所有库所有表

数据库名.表名   //某个库里的某个表

数据库名.*   //某数据库里的所有表

 

用户名:(登陆数据库服务器时使用的名字)

授权时自定义用户名要有标识性  保存在mysql库的user表里

 

 

客户端地址:(授权用户可以从那台主机连接数据库服务器的地址,就是授权用户的地址)

代表所有主机

1.1.1.1  代表单个ip地址

192.168.1.%  代表某个网段   192.168.1.0网段

pc1.tarena.com  主机名  (数据库服务器要能够解析的主机名,可以以“单个主机名”来代表“客户端地址”)

%.tarena.com    区域    (数据库服务器要能够解析区域内的主机名,只要域名叫tarena.com都授权 %匹配全部)

 

 

identified by "密码"  (设置授权用户的密码)

可选项  不写时授权用户登陆数据库服务器没有密码 

 

with grant option  (授权用户是否有授权的权限)

可选项  不写时授权用户没有授权权限

 

2.3 mysql库下的表作用:

 

mysql.user          //对用户的授权信息

mysql.db            //用户对库的权限信息

mysql.tables_priv   //用户对表的权限信息

mysql.columns_priv  //用户对字段的权限信息

 

 

set password=password("新密码")   //授权用户登录后修改自己的密码

set password for 用户@“客户端地址”=password("新密码")//管理员重置授权用户密码

2.4删除授权用户

   delete  from mysql.user  where  user=’xxx’ and  host=”xxx”; 

 

 

撤销授权

格式语句:

revoke 权限列表  on  数据库名  from 用户名@"客户端地址";

 

mysql>flush privileges;   //重新加载mysql数据库信息配置【只要是手动对mysql数据库里表配置的时候,只有打这条命令才能立刻生效】

转载于:https://blog.51cto.com/315805980/1555283

数据库管理员密码的设置相关推荐

  1. VC+ADO+Access2000数据库文件密码的设置和修改

    VC+ADO+Access2000数据库文件密码的设置和修改     在最近的应用中为了给*.mdb文件加密码问了很多网友,问题总算解决.我把解决的方法贴出来,不对的地方希望大家指正. 1.给没有密码 ...

  2. MySql 数据库 管理员密码忘记怎么办?

    mysql中忘记了root用户的密码? · 1. cmd – > net stop mysql 停止mysql服务 需要管理员运行该cmd · 2. 使用无验证方式启动mysql服务: mysq ...

  3. 【安全】【SQL注入漏洞】通过sql注入获取数据库管理员密码

    本博客中使用封神台靶标系统进行演示,靶标系统网站. 一.判断网站是否存在sql注入漏洞 1.在地址栏写入?id=1 and 1=1,回车 页面返回正常. 2.在地址栏写入?id=1 and 1=2,回 ...

  4. MySQL授权用户及密码恢复设置

    MySQL密码恢复及设置 1.停止MySQL服务程序. 2.跳过授权表启动MySQL服务程序 skip-grant-tables(添加在配置文件) 3.重设root密码(更新user表记录) 4.以正 ...

  5. mysql恢复授权表登录_MySQL授权用户及密码恢复设置

    MySQL密码恢复及设置 1.停止MySQL服务程序. 2.跳过授权表启动MySQL服务程序 skip-grant-tables(添加在配置文件) 3.重设root密码(更新user表记录) 4.以正 ...

  6. 达梦数据库的密码策略说明

    我们一般在达梦数据库创建用户的时候可以用图形界面设备用户的密码策略,但是针对达梦数据库的密码策略设置很多人并不清楚.其实达梦数据库的密码策略是通过参数来实现的,这个参数数PWD_POLICY.参数有6 ...

  7. 设置计算机网络密码怎么设置路由器,如何在计算机上设置路由器密码?

    问: 如何在计算机上设置路由器密码? A: 在计算机浏览器中,输入路由器的管理地址,打开登录页面,输入登录密码,然后进入设置页面. 然后打开无线设置或Wi-Fi设置选项,您可以设置无线密码(wifi密 ...

  8. MySQL5.6解压版详细安装教程(附安装配置、MySQL数据库设置root管理员密码,MySQL字符集设置问题及解决办法)

    写在前面:MySQL安装分为两种方式,一种是MSI安装版(普通的安装包,有引导安装的界面),另一种是压缩包解压版(解压可直接使用,但需要配置),本文主要针对压缩包解压安装进行讲解,并附加安装过程遇到的 ...

  9. mac上系统偏好里无法停止mysql,Navicat报错处理,数据库管理员忘记密码重置

    (一)mac上系统偏好里无法停止mysql 想要重启/关闭mysql服务,按照网上的教程,从系统偏好进去,进入 mysql,  点击 Stop Mysql Server 输入了电脑密码,但是 mysq ...

最新文章

  1. c#_序列化与反序列化的应用
  2. es中的DiscoveryModule
  3. Spring Boot 返回 JSON 数据,一分钟搞定!
  4. 新海诚没有参与制作的作品_新海诚作品不出真人版,其实都是因为这!
  5. MySQL给新建用户并赋予权限
  6. 用VBA模拟7段数码管显示数字
  7. mysql 修改字段长度
  8. 【021】VS2010实现强类型DataSet
  9. python中sorted方法和列表的sort方法使用详解
  10. 用where导致group by分组字段的索引失效
  11. IDEA中springboot项目启动慢
  12. 数据采集 - 获取【码市】最新发布需求,并实时通知用户 案例二
  13. 寒假还在纠结考研还是就业,听听研究生毕业的上班狗怎么说?
  14. 《天天数学》连载62:三月二日
  15. 黑马手机卫士黑名单电话拦截 使用ITelephony.aidl和NeighboringCellInfo.aidl 自动拦截黑名单电话 附文件
  16. 《我如何自己做自己的导师》
  17. 陕西人也太太太太太太有趣了吧!
  18. 用Android studio写一个轮播图代码
  19. 2021-06-03Leetcode 438.找到字符串中所有字母异位词
  20. C++ Under The Hood(中译版)

热门文章

  1. java实现正态分布(钟形曲线)
  2. 网站域名被DNS劫持了怎么办?dns被劫持了怎么处理
  3. Linux基金会超级记账本开发框架和工具
  4. mysql 圆周率_mysql - π=3.1415926 - 博客园
  5. 区块链具有诸多技术优势 在国外基础教育中的应用案例
  6. python线程池原理_Python定时器线程池原理详解
  7. 2021-10-02PE文件学习
  8. IEC61131, IEC61499图形可视化,PLC图形可视化,PLC组态,VBScript和JavaScript脚本,解决方案源代码, 开发平台100% VC++源码2018!
  9. [渝粤教育] 西南科技大学 数据库应用 在线考试复习资料(4)
  10. 管理平台|智慧工地将成为施工界的“扛把子”!