恢复数据库管理员密码、用户授权、数据备份与恢复


修改数据库管理员密码
# mysqladmin -hlocalhost -uroot -p password "新密

码"
Enter 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("123qqq") where

host="localhost" and user="root";
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 -p123qqq
mysql>

用户授权
什么是授权:在数据库上添加新的可以连接的用户
默认数据库管理员root用户在本机登录时,才有授权权限。

授权命令的格式?
grant 权限列表 on 数据名 to 用户名;

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

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

identified by "密码" ;

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

identified by "密码" with grant option;

权限列表的表示方式?
all 所有权限
select,update(name,age)

数据名的表示方式?
*.* 所有库所有表
库名.* 一个库
库名.表名 一个表

用户名: 授权时自定义要有标识性,是用户登录是使用的名字

客户端地址的表示方式?
% 所有地址
192.168.2.% 网段
%.tarena.com 区域
pc101.tarena.com 主机名

identified by "密码" 连接时使用的密码

with grant option 有授权权限

给谁授权
给使用者授权 (网站服务器 )
管理者(运维工程师)

允许数据库管理员root用户可以在254主机连接数据库服务器,

连接密码是abc123 连接后有完全权限且有授权权限
mysql>grant all on *.* to root@"192.168.4.254"

identified by "abc123" with grant option;

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

student identified by "123456";


select user(); 显示登录的用户名和客户端地址
show grants; 连接用户查看自己的访问权限

在客户端登录测试授权
#which mysql
#yum -y install mariadb
#mysql -h192.168.4.12 -uroot -pabc123
mysql>
grant all on bbsdb.* to webadmin@"192.168.4.11"

identified by "123456";
+++++++++++++++++++++++++++++++
授权信息存储在授权库mysql库里
user 已有的授权用户及访问权限
db 记录授权用户对本机库的访问权限
tables_priv 记录授权用户对本机表的访问权限
columns_priv 记录授权用户对本机表中字段的访问权限


查看已有的授权用户及权限
select user,host from mysql.user;
数据库管理员查看授权用户的权限信息
show grants for 用户名@"客户端地址";

撤销用户授权
revoke 权限列表 on 库名 from 用户名@"客户端地址";

mysql> revoke grant option on *.* from

'root'@'192.168.4.254';

mysql> revoke delete on bbsdb.* from

'webadmin'@'192.168.4.11';

mysql> show grants for 'webadmin'@'192.168.4.11';

mysql>update mysql.db set

Insert_priv="N",Update_priv="N" where db="bbsdb";
mysql> flush privileges;

mysql> show grants for 'webadmin'@'192.168.4.11';


mysql> revoke all on bbsdb.* from

'webadmin'@'192.168.4.11';

删除授权用户
方法一:

mysql>delete from mysql.user where

user="webadmin" and host="192.168.4.11";
mysql> flush privileges;

方法二
mysql> drop user 用户名@"客户端地址";


授权用户登录后修改自己的登录密码
SET PASSWORD=PASSWORD('新密码');

管理员 root 重置授权用的登录密码
SET PASSWORD
FOR 用户名@'客户端地址'=PASSWORD('新密码');
++++++++++++++++++++++++++++++++
安装mysql图形管理工具 phpmyadmin
#yum -y install httpd php
#systemctl start httpd; systemctl enable httpd
[root@localhost ~]# cat /var/www/html/test.php
<?php
phpinfo();
?>
[root@localhost ~]#

客户端访问
firefox http://192.168.4.12/test.php

# tar -zxvf phpMyAdmin-2.11.11-all-languages.tar.gz

-C /var/www/html/

#cd /var/www/html/
#mv phpMyAdmin-2.11.11-all-languages/ phpmyadmin
#chown -R apache:apache phpmyadmin
#cd phpmyadmin
#cp config.sample.inc.php config.inc.php
#vim config.inc.php
17 $cfg['blowfish_secret'] = 'plj123';
31 $cfg['Servers'][$i]['host'] = 'localhost';
:wq
# yum -y install php-mysql
#mysql -uroot -p123qqq
mysql>create database webdb;
mysql>grant all on webdb.* to webuser@"localhost"

identified by "123456";

客户端访问
firefox http://192.168.4.12/phpmyadmin
用户 webuser
密码 123456
+++++++++++++++++++++++++++++++++
数据备份与恢复
1 为什么要备份数据?
数据丢失或误删除时,使用备份文件恢复数据。

2 数据备份方式?
物理备份? 备份库或表对应文件
cp -r /var/lib/mysql/mysql /opt/mysql.bak
cp /var/lib/mysql/mysql/user.* /opt/

tar -zcvf /opt/mysql.tar.gz /var/lib/mysql/mysql/*

164 cp -r /mydata/mysql.bak/ /var/lib/mysql/mysql
165 chown -R mysql:mysql /var/lib/mysql/mysql
166 systemctl restart mysqld

逻辑备份?备份时根据已有的库表及记录生成对应的sql命令,把

sql保存到指定的备份文件里

3数据备份策略?
完全备份 备份所有数据(一台服务器 一个库 一张表)
差异备份 备份自完全备份后所有新产生
增量备份 备份自上一次备份后所有新产生

完全备份+差异备份
完全备份+增量备份

4在生成环境下如何实现数据备份
周期性计划任务 执行 备份脚本

00 18 * * 1 sh /shell/allbak.sh

posted @ 2018-04-26 15:40  腐种发芽  阅读(218)  评论(0编辑  收藏  举报