Mysql1.4(用户授权,权限撤销;图形管理工具,数据备份-恢复)

 

 

 

 

 

目录:

一,用户授权与权限撤销

二,Mysql图形管理工具

三,数据备份与恢复 

一,用户授权与权限撤销

1.1什么是用户授权:在数据库服务器上添加新的可以连接数据库服务的用户,在添加新连>接用户时可以设置用户对数据的访问权限.

1.2授权命令的语法格式?

注意:默认情况下,只有数据库管理root用户在数据库服务器本机登陆,才有授权权限。

Mysql->grant 权限列表 on 库名 to 用户名@”客户端地址” identified by “密码” [with grant option];

Identified by “密码” 连接数据库服务器的密码。

 with grant option;让用户有授权权限(可选项)。

 

权限列表的表示方式?

   All select,insert,update,delete(用来指定权限操作)

 

库名的表示方式?

  *.* :所有库下的所有表有什么样的权限

 库名.*:指定库下的所有表有什么样的权限

 库名.表名 :指定库下的指定表有什么样的权限.

 用户名 自定义名称,客户端连接服务器时使用的名字。

 

客户端地址表示方式?

%:匹配所有主机

192.168.1.%:匹配指定的一个网段

192.168.1.1:匹配指定IP地址的单个主机

%.tarena.com:匹配一个DNS域

Svr1.tarena.com:匹配指定域名的单个主机

 

权限撤销:

Mysql->revoke 权限列表 on 库名 from 用户名@“客户端地址”;

Sql语句:

1,revoke grant option on *.* from root@’192.168.4.254’; =撤销用户的授权权限。

2,revoke delete,update on *.* from root@’192.168.4.254’ =撤销用户指定权限

3,drop user root@'192.168.4.254';=删除该用户不能登陆

撤销授权与赋予授权:

赋予授权可以针对库,表,字段进行sql命令授权

撤销可以针对库,表,字段,sql命令等取消授权.

 

授权信息存储在数据库服务器上mysql库的不同表里。

所以在mysql里面Mysql的这个库是授权库。

User:服务器已经添加的连接用户及访问权限

Db表:存储授权用户对数据库的访问权限。

Tables_priv:存储授权用户对表的访问权限.

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

 

管理员用户查看已有授权用户访问权限

Sql命令:show grants for root@"192.168.4.254";

Show grants for 用户名@“客户端地址”;

显示但前用户名和登陆地址:

            Select user();

连接用户显示自己的访问权限:

           Show grants;

显示当前数据库的主机名:

           Select @@hostname;

被授权客户端远程数据库服务端:

装个包mariadb—>提供/usr/bin/mysql 命令

Yum -y install maridb (装包)

which mysql (查看是否有该命令)

rpm -qf /usr/bin/mysql (查看文件的rpm包源)

登陆:mysql -h服务端地址 -uroot -p密码

 

密码管理:

1,授权用户连接数据库服务器后修改登陆密码

Mysql->set password=password(“密码”);

2,数据库管理员重置授权用户的密码 Set password for 用户名@“客户机地址”=password(“密码”);

Set password for webadmin@”%”=password(“密码”);

3,修改数据库管理员root用户本机登陆密码

(操作系统管理员root 才有权限修改)

Mysqladmin -hlocalhost -uroot -p password “新密码”;

Enter password:输入当前登陆密码

4,恢复Mysql管理密码(操作系统下root管理员操作)

Vim /etc/my.cnf

1,[mysqld]

skip-grant-tables //添加行;跳过授权表启动

secure_file_priv="/mybak"

#validate_password_policy=0

#validate_password_length=6

2,然后重起服务:systemctl restart mysqld

3,Mysql进入管理界面

mysql->update mysql.user set - >authentication_string=password("888888") where user="root" and host="localhost";

mysql->flush privileges;

mysql->quit

4,vim /etc/my.cnf

[mysqld]

#skip-grant-tables

secure_file_priv="/mybak"

validate_password_policy=0

validate_password_length=6

5,然后重起服务新密码登陆!

 

二,图形管理工具

(在数据库服务器上安装图形管理工具phpmyadmin)

phpMyAdmin-2.11.11-all-languages.tar.gz

部署软件运行环境 :1,部署软件运行环境 lamp/lnmp

yum -y install httpd php php-mysql

vim /var/www/html/test.php

<?php

phpinfo();

?>

systemctl start httpd

systemctl enable httpd

Firefox http://192.168.4.51/test.php 测试PHP页面是否搭建成功

2.安装phpmyadmin软件

tar xf phpMyAdmin-2.11.11-all-languages.tar.gz -C /var/www/html

进入/var/www/html把文件改名为phpmyadmin

并且给予apache属者属组chown -R apache:apache phpmyadmin

cd phpmyadmin/

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

3.修改软件的配置文件定义管理的数据库服务器

更改17行:$cfg['blowfish_secret'] = 'hcy123';

查看31行:$cfg['Servers'][$i]['host'] = 'localhost';

如果指定赋予远程连接把localhost改为IP地址

4,进入数据库创建指定数据库,授权对应用户

create database bbsdb;grant all on bbsdb.* to admin@'%' identified by "123456";

5.在客户端访问phpmyadmin软件管理和使用数据库服务器。

Firefox http://192.168.4.51/phpmyadmin

输入账户密码登陆。

 

三,数据完全备份与完全恢复

数据备份方式:

分物理备份 直接拷贝库或表的文件

cp -r /var/lib/mysql /dbbak/mysql.bak

Tar -zxcf /dbbak/mysql.tar.gz /var/lib/mysql/*

如果那天不小删除掉了文件;

Cp -r /dbbak/mysql /var/lib/mysql

Chown -R mysql:mysql /var/lib/mysql

Systemclt restart mysqld

这种方式也有风险:要考虑的事项,数据不支持垮平台,

不同系统的文件系统可能对数据造成影响这点要注意

逻辑备份:执行逻辑备份时,根据备份的库或表生成对应的sql命令,把sql保存到对应的备
份文件里。恢复的就是执行备份文件里的sql命令把数据在创建回去。

 

数据备份策略:

完全备份:备份所有数据

备份新生成的数据:

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

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

生产环境中使用的备份策略:

完全备份+差异备份

完全备份+增量备份

生成环境下实现数据自动备份的方法

Crond计划人物 执行 备份脚本

例如: 30 30 * * 1 /shell/bllbak.sh(备份所有数据的脚本)

50 23 * * 2-7 /shell/newbak.sh(备份每天新产生的数据脚本)

 

完全备份数据 命令的语法格式

Mysqldump -hlocalhost -uroot -p123456 数据库名> /目录/文件名.sql

数据库名的表示方式?

--all-databases 备份当前数据库服务上的所有库

数据库名 备份某个库的所有数据

数据库名.表名 备份一张所有数据

-B 库名1 库名2...把某几个库的所有数据备份到一个备份文件里

完全恢复数据命令的语法格式

Mysql -hlocalhost -uroot -p123456 库名 <目录名/文件名.sql

也可以根据其他机子备份古来

Scp -r 192.168.4.52:/var/lib/mysql/mysql /var/lib/mysql/

 

 

 

 

 

 

posted @ 2018-03-30 19:27  virlix  阅读(432)  评论(0编辑  收藏  举报