码迷,mamicode.com
首页 > 数据库 > 详细

MySQL数据库管理4

时间:2017-12-21 15:59:09      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:权限列表   mysql测试图形工具   

修改数据库管理员本机登录密码

[root@localhost ~]# mysqladmin -hlocalhost  -uroot  -p 


 password  "新密码" 


恢复数据管理员本机登录的密码

vim /etc/my.cnf

[mysqld]

#validate_password_policy=0

#validate_password_length=6

skip-grant-tables

:wq

#systemctl   restart mysqld

#mysql

mysql> update  mysql.user  

    -> set

    -> authentication_string=password("123123")

    -> where

    -> user="root" and host="localhost";

mysql> flush privileges;

mysql>quit

 vim /etc/my.cnf

[mysqld]

validate_password_policy=0

validate_password_length=6

#skip-grant-tables

:wq

#systemctl   restart mysqld

#mysql  -uroot  -p123123

mysql>

+++++++++++++++++++++++++

用户授权

*默认只允许数据库管理员从本机登录。

*默认只有数据库管理员在本机登录才有授权权限。


给谁授权: 管理者(运维工作人员)   使用者(网站服务器)


授权命令

mysql> grant   权限列表 on  数据库名    to  用户名;


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


址"  identified by "密码"  with  grant  option;


权限列表

all  所有权限

select,insert,update(name,age)


数据库名的表示方式:

*.*  所有库所有表

库名.*   某个库

库名.表   某张表


用户名:授权时自定义的


客户地址表示方式

%  所有主机

192.168.4.%   网段

192.168.4.7    ip地址

主机名    pc101.tedu.cn      

域名       %.tedu.cn


 identified by "密码" 登录密码 (可选项)  

with  grant  option   有授权权限 (可选项)



添加yaya用户可以在本机登录,对所有库表有完全权限但不能授


权,登录密码654321

mysql> grant all on *.* to yaya@"localhost" 

    -> identified by "654321";


mysql> select  user(); 显示当前登录的用户和客户端地址

mysql> show grants; 显示当前登录用户的访问权限


添加plj用户可以在x.x.x.254登录,对所有库表有完全权限并有


授权权限,登录密码654321

mysql> grant all on *.*  to plj@"192.168.4.254" 


identified by "654321" with  grant option;



MySQL [(none)]> grant  all on  bbsdb.*  to  student 


identified by "654321";



授权user1用户可以在网络中的任意主机连接数据库服务器,连


接后仅对userdb库下user表有查询 插入 更新权限 更新时只能


更新name字段的值,登录密码  123456;


grant   select ,insert ,update(name)  on  userdb.user  to  


user1@"%"   identified by "123456";


授权信息储存在mysql库下的表里

user  存储已有的授权用户

db     记录授权用户对库访问权限

tables_priv   记录授权用户对表访问权限

columns_priv  记录授权用户对表中字段的访问权限



查看一样的授权用户和登录客户端地址

select  user,host  from  mysql.user;



管理用户查看授权用户的访问权限

mysql> show grants for 用户名@"客户端地址";


权限撤销

mysql> revoke   权限列表  on  库名   from   用户名@"客户


端地址";



撤销plj用户在x.x.x.254登录的授权权限

revoke  grant  option  on  *.*  from  


plj@"192.168.4.254";


撤销plj用户在x.x.x.254登录后删除表记录的权限

revoke  delete on *.*  from  plj@"192.168.4.254";


撤销plj用户在x.x.x.254登录后所有的权限

revoke  all  on *.*  from plj@"192.168.4.254";


删除授权用户

mysql> delete  from mysql.user  where user="plj" and 


host="192.168.4.254";  flush privileges;



mysql> drop  user  plj@"192.168.4.254";

授权用户修自己的登录密码

SET PASSWORD=PASSWORD('新密码');


数据库管理重置授权用户的登录密码

SET PASSWORD  for   用户@"客户端地址"=PASSWORD('


新密码');


练习

1 删除以上所有的授权用户。

2 允许254 主机可以使用数据库管理员连接数据库服务器,并拥


有管理员的权限。

grant all  on  *.*   to  root@"192.168.4.254"  identified 


by  "123123"  with grant option;



3 不允许数据库管理员在数据库服务器本机登录。

delete from mysql.user where 

    -> user="root" and host="localhost"; flush privileges;


4 授权webadmin用户对webdb有完全权限,并有授权权限,


在网络中所有主机都可以连接数据库服务登录密码123456

 grant  all on  webdb.*  to webadmin@"%" 

    -> identified  by "123456" with grant option;


grant  insert  on  mysql.*  to  webadmin@"%";


5 测试以上授权


6 删除以上授权并只允许数据库管理员从服务器本机登录。

grant all on  *.*  to  root@"localhost" identified by 


"123123" with  grant option;


 delete from mysql.user where 

    -> host!="localhost";

mysql> flush privileges;


+++++++++++++++++++++++++++++++++

安装mysql服务图形管理工具 phpmyadmin

  137  rpm -q httpd  php

  138  rpm -q php-mysql

  139  yum -y  install httpd  php  php-mysql

  140  rpm -q httpd  php  php-mysql

  141  systemctl  start httpd

  142  systemctl  status httpd

  143  systemctl  enable httpd

  144  systemctl  is-enabled httpd

  145  echo 123  > /var/www/html/test.html

  147  yum -y  install elinks

  148  elinks  --dump http://localhost/test.html

  149  vim /var/www/html/test.php

           <?php

                 echo  "hello boy";

            ?>

          :wq


  150  elinks  --dump http://localhost/test.php


  154  tar -zxvf phpMyAdmin-2.11.11-all-


languages.tar.gz 


  167  mv phpMyAdmin-2.11.11-all-languages 


/var/www/html/phpmyadmin

  168  cd /var/www/html/

  171  chown -R apache:apache  phpmyadmin/

  172  cd phpmyadmin/


  174  cp config.sample.inc.php config.inc.php 

# vim config.inc.php

17 $cfg['blowfish_secret'] = 'plj123';

31 $cfg['Servers'][$i]['host'] = 'localhost';

:wq


mysql -uroot  -p123123

mysql> create database gamedb;

mysql> grant all on  gamedb.* to 


gameuser@"localhost" identified by "123456";

  



mysql  -hlocalhost  -uroot  -p123123

firefox  http://192.168.4.12/phpmyadmin

  gameuser

 123456

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

数据备份与恢复

1 为什么对数据做备份?使用备份文件恢复数据。

2 数据备份方式?

物理备份:拷贝库或表对应的系统文件

 

 193  tar -zcvf  /opt/mysql.tar.gz  


/var/lib/mysql/mysql/*


  180  cp -r /var/lib/mysql/mysql  /opt/mysql.bak

  181  ls /opt/

  182  ls /opt/mysql.bak/

  183  rm -rf /var/lib/mysql/mysql

  184  systemctl  status mysqld

  185  quit

  186  cp -r /opt/mysql.bak/ /var/lib/mysql/mysql

  187  cd /var/lib/mysql

  188  ll

  189  chown  -R mysql:mysql /var/lib/mysql/mysql

  190  systemctl  restart mysqld

  191  mysql -uroot -p123123


逻辑备份:执行备份时,根据已有的库、表、记录,生成对应的


sql 命令,把SQL保持到指定的文件里。



3 数据备份策略

完全备份:备份所有数据

                  一台数据库服务器的所有数据

                  一个库的所有数据

                  一张表的所有数据


差异备份:备份自完全备份后,所有新产生的数据

增量备份:备份自上次备份后,所有新产生的数据

                            完全

                            差异

         增量


单独使用完全备份

完全备份+差异备份

完全备份+增量备份


方式   策略    

完全备份+差异备份

周期               时间       regtab        备份文件名  

1         完全    18            10             1.sql     10

2         差异    18             2             2.sql    2

3                 18             5             3.sql 7

4                 18             3             4.sql     10

5                                4             5.sql     14

6                                7             6.sql     21

7        差异                    1             7.sql     22


方式   策略    

完全备份+差异备份

周期               时间       regtab        备份文件名  

1         完全    18            10             1.sql                10

2         增量    18            2               2.sql           2

3                    18           5                3.sql 5

4                     18          3                  4.sql                     3

5                                    4                   5.sql                 4

6                                    7                    6.sql                7

7       增量                      1                     7.sql               1


完全备份

周期               时间       regtab        备份文件名  

1         完全    18            10             1.sql                10

                                        2

                delete from t1;

2                    18            2               2.sql           2

3                    18           5                3.sql 5

4                     18          3                  4.sql                     3

5                                    4                   5.sql                 4

6                                    7                    6.sql                7

7        完全                     1                     7.sql               1


生产环境中 使用

周期性计划任务         备份脚本

30   18    *    *    1    /shell/allbak.sh



++++++++++++++++++++++++++++++++

完全备份数据

mysqldump   -hlocalhost  -uroot  -p123123  数据库名   >  


目录名/名.sql



数据库名的表示方式:

 --all-databases   一台数据库服务器的所有数据

 库名                      一个库的所有数据

库名  表名              一张表的所有数据


-B  库名1  库名2  一起备份多个库的所有数据


#mysqldump  -hlocalhost -uroot -p123123  userdb t2 > 


/opt/t2.sql




完全数据恢复

mysql -uroot -p123123  数据库名  < 备份文件


#mysql -uroot -p123123  userdb < /opt/t2.sql



编写脚本allbakt2.sh 功能:

把服务器上userdb库t2表的所有记录备份到本机/mybak文件夹里。使用系统日期做备份文件名例如 2017-05-25-t2.sql


#! /bin/bash

day=$(date +%F)

if  [ ! –e /mydbbak  ] ; then

mkdir /mydbbak

fi

mysqldump -uroot -pabc123 userdb > /mydbbak/$day-userdb.sql


MySQL数据库管理4

标签:权限列表   mysql测试图形工具   

原文地址:http://blog.51cto.com/13513556/2052950

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!