目录:
一,用户授权与权限撤销
二,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/