用户授权及撤销 、 数据备份与恢复 、 MySQL管理工具
2017-12-30 15:55
906 查看
一 、数据库管理员root用户 密码的设置。
1.1 修改数据库管理员本机登录密码(操作系统管理员有权限修改)
#mysqladmin -hlocalhost -uroot -p password "新密码"
1.2 恢复数据库管理员密码(操作系统管理员有权限修改)
#systemctl stop mysqld
#vim /etc/my.cnf
[mysqld]
skip-grant-tables
#
#
:wq
#systemctl start mysqld
#mysql
mysql> update mysql.user set authentication_string=password("新密码") where user="root" and host="localhost";
mysql> flush privileges;
mysql> quit;
#vim /etc/my.cnf
[mysqld]
#skip-grant-tables
:wq
#systemctl stop mysqld
#systemctl start mysqld
#mysql -uroot -p新密码
mysql>
+++++++++++++++++++++++++++++++++++++++
http://192.168.4.99/reguser.php
name jim
pass 123456
注册
二
用户授权:就在数据库服务器添加新的连接用户。
用户授权
#mysql -uroot -pabc123
mysql> grant 权限列表 on 库名 to 用户名@"客户端地址" identified by "密码" [ with grant option];
权限的表示方式: all 、 usage 、select,update(name,age),delete
库名的表示方式: 库名.表名 库名. .*
用户名: 自定义
客户端地址表示方式: 192.168.4.117 192.168.2.%
identified by "密码" #登录密码
with grant option #可以有授权权限 可选项
++++++++++++++++++++++++++++++
权限撤销
mysql> revoke 权限列表 on 库名 from 用户名@"客户端地址";
++++++++++++++++++++++++++++++
删除授权用户: drop user 用户名@"客户端地址";
+++++++++++++++++++++++++++++++
查看授权用户的权限 show grants for 用户@”客户端地址“;
授权信息存储在授权库mysql 下的表里。(不同存储不同的授权信息)
mysql>use mysql;
mysql>show tables;
user 已有授权用户信息 select user,host from mysql.user;
db 授权用户对库的访问权限
tables_priv 记录授权用户对表的访问权限
columns_priv 记录授权用户对表中字段的访问权限。
+++++++++++++++++++++++++++++++++++++++
允许在192.168.4.254主机上使用管理员用户连接数据库服务器。
mysql>grant all on . to root@"192.168.4.254" identified by "123456" with grant option;
允许从网站服务器上使用bbsuser用户连接 密码是123456 只对bbsdb库下的所有表有完全权限,没有授权权限。
grant all on bbsdb.* to bbsuser@"192.168.4.30" identified by "123456";
运行使用admin用户在数据库服务器本机登录 密码123456 只有查询表记录的权限。
grant select on . to admin@"localhost" identified by "123456";
mysql> revoke 权限列表 on 库名 from 用户名@"客户端地址";
撤销root在254主机登录的授权权限
revoke grant option on . from root@"192.168.4.254";
撤销root在254主机登录的删除记录和修改记录的权限
revoke delete,update on . from root@"192.168.4.254";
撤销root在254主机登录的所有权限
revoke all on . from root@"192.168.4.254";
通过修改表记录的方式撤销用户的权限。
1 修改在对应表中的记录信息
2 fulsh privileges;
++++++++++++++++++++++++++++++++++
授权用户登录服务器后,修登录密码;
mysql> set password=password("密码");
管理员重置授权用户的登录密码
mysql> set password for 用户@"客户端地址"=password("密码");
+++++++++++++++++++++++++++++++++++++
客户端测试授权:
#which mysql
#rpm -q mariadb
#mysql -h数据库服务器的IP地址 -u用户名 -p密码
mysql> select @@hostname;
mysql> select user();
mysql> show grants;
+++++++++++++++++++++++++++++++++
四 安装mysql图形管理工具 phpmyadmin
1 准备软件运行环境 LAMP
#yum -y install httpd php php-mysql
#systemctl httpd start ; systemctl enable httpd
2 解包到网站目录下 ,并修改解压后的目录名称admin
3 创建主配置文件
4 修改配置文件 17行 和 31 行
5 客户端访问
http://192.168.4.11/admin
登录用户名
密码
++++++++++++++++++++++++++++++++++++++
三数据备份与恢复(完全备份和完全恢复)
备份方式:
物理备份: 直接拷贝库或表对应的文件(Myisam)
cp -r /var/lib/mysql/mysql /mysql.bak
tar -zcvf /mysql.tar.gz /var/lib/mysql/mysql/*
cp -r /mysql.bak /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql/mysql
逻辑备份: 执行备份时,根据已有的库和表生成对应sql命令,把生成的sql命令存储到指定的备份文件里。
备份策略:
完全备份: 备份所有数据(表 、 库 、 服务器)
差异备份:备份自完全备份后所有新产生 (备份新产生的数据)
增量备份:备份自上一次备份后,所有新产生。(备份新产生的数据)
备份数据库要考虑的问题:
备份频率 备份时间 备份策略 存储空间 备份文件的命名
名.sql
备份策略使用方式:
完全+增量
完全+差异
执行数据备份的方式: 周期性计划任务crond 执行 备份脚本
(shell python)
00 23 1 sh /root/allbak.sql
5:00 t1 名
1 完全备份 10 1.sql 10
2 差异 3 2.sql 3
3 5 3.sql 8
4 1 4.sql 9
5 7 5.sql 16
6 1 6.sql 17
7 差异 2 7.sql 19
++++++++++++++++++++++++++++++++
5:00 t1 名
1 完全备份 10 1.sql 10
2 增量 3 2.sql 3
3 5 3.sql 5
4 7 4.sql 7
5 1 5.sql 1
6 3 6.sql 3
7 增量 4 7.sql 4
++++++++++++++++++++++++++++++++++
完全备份数据mysqldump
#mysqldump -uroot -pabc123 库名 > 目录名/名.sql
库名的表示方式:
--all-databases 备份数据库服务器的所有数据
库名 备份一个库里的所有数据
库 表 备份一个表的所有数据
-B 库名1 库名1 库名N 一起备份多个库的所有数据
完全恢复数据
#mysql -uroot -pabc123 studb < 目录名/名.sql
mkdir /srcriptdir
vim /srcriptdir/userdbbakall.sh
#!/bin/bash
day=
if [ ! -e /bakdir ];then
mkdir /bakdir
fi
mysqldump -uroot -pabc123 userdb > /bakdir/userdb-$day.sql
:wq
#chmod +x /srcriptdir/userdbbakall.sh
#/srcriptdir/userdbbakall.sh
#ls /bakdir/.sql
#vim /bakdir/.sql
#crontab -e
30 23 1 /srcriptdir/userdbbakall.sh &> /dev/null
:wq
1.1 修改数据库管理员本机登录密码(操作系统管理员有权限修改)
#mysqladmin -hlocalhost -uroot -p password "新密码"
1.2 恢复数据库管理员密码(操作系统管理员有权限修改)
#systemctl stop mysqld
#vim /etc/my.cnf
[mysqld]
skip-grant-tables
#
#
:wq
#systemctl start mysqld
#mysql
mysql> update mysql.user set authentication_string=password("新密码") where user="root" and host="localhost";
mysql> flush privileges;
mysql> quit;
#vim /etc/my.cnf
[mysqld]
#skip-grant-tables
:wq
#systemctl stop mysqld
#systemctl start mysqld
#mysql -uroot -p新密码
mysql>
+++++++++++++++++++++++++++++++++++++++
http://192.168.4.99/reguser.php
name jim
pass 123456
注册
二
用户授权:就在数据库服务器添加新的连接用户。
用户授权
#mysql -uroot -pabc123
mysql> grant 权限列表 on 库名 to 用户名@"客户端地址" identified by "密码" [ with grant option];
权限的表示方式: all 、 usage 、select,update(name,age),delete
库名的表示方式: 库名.表名 库名. .*
用户名: 自定义
客户端地址表示方式: 192.168.4.117 192.168.2.%
identified by "密码" #登录密码
with grant option #可以有授权权限 可选项
++++++++++++++++++++++++++++++
权限撤销
mysql> revoke 权限列表 on 库名 from 用户名@"客户端地址";
++++++++++++++++++++++++++++++
删除授权用户: drop user 用户名@"客户端地址";
+++++++++++++++++++++++++++++++
查看授权用户的权限 show grants for 用户@”客户端地址“;
授权信息存储在授权库mysql 下的表里。(不同存储不同的授权信息)
mysql>use mysql;
mysql>show tables;
user 已有授权用户信息 select user,host from mysql.user;
db 授权用户对库的访问权限
tables_priv 记录授权用户对表的访问权限
columns_priv 记录授权用户对表中字段的访问权限。
+++++++++++++++++++++++++++++++++++++++
允许在192.168.4.254主机上使用管理员用户连接数据库服务器。
mysql>grant all on . to root@"192.168.4.254" identified by "123456" with grant option;
允许从网站服务器上使用bbsuser用户连接 密码是123456 只对bbsdb库下的所有表有完全权限,没有授权权限。
grant all on bbsdb.* to bbsuser@"192.168.4.30" identified by "123456";
运行使用admin用户在数据库服务器本机登录 密码123456 只有查询表记录的权限。
grant select on . to admin@"localhost" identified by "123456";
mysql> revoke 权限列表 on 库名 from 用户名@"客户端地址";
撤销root在254主机登录的授权权限
revoke grant option on . from root@"192.168.4.254";
撤销root在254主机登录的删除记录和修改记录的权限
revoke delete,update on . from root@"192.168.4.254";
撤销root在254主机登录的所有权限
revoke all on . from root@"192.168.4.254";
通过修改表记录的方式撤销用户的权限。
1 修改在对应表中的记录信息
2 fulsh privileges;
++++++++++++++++++++++++++++++++++
授权用户登录服务器后,修登录密码;
mysql> set password=password("密码");
管理员重置授权用户的登录密码
mysql> set password for 用户@"客户端地址"=password("密码");
+++++++++++++++++++++++++++++++++++++
客户端测试授权:
#which mysql
#rpm -q mariadb
#mysql -h数据库服务器的IP地址 -u用户名 -p密码
mysql> select @@hostname;
mysql> select user();
mysql> show grants;
+++++++++++++++++++++++++++++++++
四 安装mysql图形管理工具 phpmyadmin
1 准备软件运行环境 LAMP
#yum -y install httpd php php-mysql
#systemctl httpd start ; systemctl enable httpd
2 解包到网站目录下 ,并修改解压后的目录名称admin
3 创建主配置文件
4 修改配置文件 17行 和 31 行
5 客户端访问
http://192.168.4.11/admin
登录用户名
密码
++++++++++++++++++++++++++++++++++++++
三数据备份与恢复(完全备份和完全恢复)
备份方式:
物理备份: 直接拷贝库或表对应的文件(Myisam)
cp -r /var/lib/mysql/mysql /mysql.bak
tar -zcvf /mysql.tar.gz /var/lib/mysql/mysql/*
cp -r /mysql.bak /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql/mysql
逻辑备份: 执行备份时,根据已有的库和表生成对应sql命令,把生成的sql命令存储到指定的备份文件里。
备份策略:
完全备份: 备份所有数据(表 、 库 、 服务器)
差异备份:备份自完全备份后所有新产生 (备份新产生的数据)
增量备份:备份自上一次备份后,所有新产生。(备份新产生的数据)
备份数据库要考虑的问题:
备份频率 备份时间 备份策略 存储空间 备份文件的命名
名.sql
备份策略使用方式:
完全+增量
完全+差异
执行数据备份的方式: 周期性计划任务crond 执行 备份脚本
(shell python)
00 23 1 sh /root/allbak.sql
5:00 t1 名
1 完全备份 10 1.sql 10
2 差异 3 2.sql 3
3 5 3.sql 8
4 1 4.sql 9
5 7 5.sql 16
6 1 6.sql 17
7 差异 2 7.sql 19
++++++++++++++++++++++++++++++++
5:00 t1 名
1 完全备份 10 1.sql 10
2 增量 3 2.sql 3
3 5 3.sql 5
4 7 4.sql 7
5 1 5.sql 1
6 3 6.sql 3
7 增量 4 7.sql 4
++++++++++++++++++++++++++++++++++
完全备份数据mysqldump
#mysqldump -uroot -pabc123 库名 > 目录名/名.sql
库名的表示方式:
--all-databases 备份数据库服务器的所有数据
库名 备份一个库里的所有数据
库 表 备份一个表的所有数据
-B 库名1 库名1 库名N 一起备份多个库的所有数据
完全恢复数据
#mysql -uroot -pabc123 studb < 目录名/名.sql
mkdir /srcriptdir
vim /srcriptdir/userdbbakall.sh
#!/bin/bash
day=
date +%F
if [ ! -e /bakdir ];then
mkdir /bakdir
fi
mysqldump -uroot -pabc123 userdb > /bakdir/userdb-$day.sql
:wq
#chmod +x /srcriptdir/userdbbakall.sh
#/srcriptdir/userdbbakall.sh
#ls /bakdir/.sql
#vim /bakdir/.sql
#crontab -e
30 23 1 /srcriptdir/userdbbakall.sh &> /dev/null
:wq
相关文章推荐
- 04: 用户授权及撤销 、 数据备份与恢复 、 MySQL管理工具
- MySQL第四天(用户授权与撤销,完全备份和完全恢复)
- Mysql 数据备份与恢复,用户创建,授权
- MySQL(用户管理,常用sql语句,数据库备份恢复,MySQL调优,恢复误操作数据)
- MySQL用户管理、常用sql语句、备份和恢复数据
- Mysql 数据备份与恢复,用户创建,授权
- MYSQL常用操作(二),MYSQL用户管理,数据备份恢复
- mariadb 的查询、创建、修改、备份、删除、重置密码、授权、mysql的图形管理工具phpmyadmin
- MySQL 用户管理 备份复制 恢复
- 【MySQL】Linux + MySQL 用户权限管理和数据备份(四)
- mariadb 的查询、创建、修改、备份、删除、重置密码、授权、mysql的图形管理工具phpmyadmin
- Redis基础学习--持久化(数据备份与恢复)、复制、安全、通信协议、管理工具
- MySQL管理命令、备份与恢复、授权远程访问
- MySQL用户管理、常用sql语句、数据库备份恢复
- MySQL管理命令、备份与恢复、授权远程访问
- 使用mysql备份工具innobackupex进行本地数据备份、恢复操作实例
- MySQL管理之数据备份及恢复 推荐
- 详解MySQL用户与授权、MySQL日志管理、数据乱码解决方案。
- 使用mysql备份工具innobackupex将本地数据直接备份到远端服务器、备份、恢复操作实例
- ARCHIVELOG模式下用户管理的完全恢复(4)——在没有数据文件备份的情况下恢复数据文件!