温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL数据库密码、授权、备份与恢复

发布时间:2020-04-25 11:23:40 来源:亿速云 阅读:250 作者:三月 栏目:MySQL数据库

下文内容主要给大家带来MySQL数据库密码、授权、备份与恢复,这里所讲到的知识,与书籍略有不同,都是亿速云专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

数据库管理员root用户 密码的设置

(a)知道旧密码修改mysqladmin -hlocalhost -uroot -p password "abc123"
enter oldpasswd 123456
ok
mysql -uroot -pabc123456
(b)不知道旧密码
/etc/my.cnf
[mysqld]
skip-grant-tables  /不验证密码登录
systemctl restart mysqld

mysql
>update mysql.user set authentication_string=password("新密码") where user="root" and host="localhost";
>flush privaileges   /不重启MySQL服务 使设置生效
>quit

/etc/my.cnf
[mysqld]
#skip-grant-tables  /不验证密码登录
systemctl restart mysqld
mysql -hlocalhost -uroot -pabc123
>
#####################################

MySQL用户授权及撤销

MySQL数据库密码、授权、备份与恢复

(a)用户授权
grant 权限列表 on 库.表 to 用户名@"客户端地址" identified by "密码" [with grant option]

权限表示: all(所有权限) usage(无权限,只允许登录) select(查询) delete(删除) insert(增加) update(修改)...
库名:  库名.表名 *.*(所有库.所有表) 库名.*(库下的所有表)
用户名:自定义
客户端地址: % 所有地址 192.168.4.12(只允许这个地址) 192.168.4.%(允许4.0这个网段)... 
密码: 授权用户的登录密码
with grant option /可以有授权权限

[云服务器 192.168.4.11]
#grant all on *.* to user@"192.168.4.12" identified by "123456" with grant option;
/用户user在192.168.4.12主机上登录数据库,具有对所有库,所有表 所有的权限 还有可以授权权限
>show grants for user@"192.168.4.12"  /在服务器上查看授权的用户的权限
>set password for user@192.168.4.12=password("新密码"); /在服务器上为授权用户修改密码

[客户端 192.168.4.254]
#mysql -h292.168.4.11 -uuser -p123456
mysql>
>show grants;  /客户端查看权限
>set password=password("新密码"); /授权用户自己修改密码
(b)撤销权限
(1) 通过命令撤销
revoke 权限列表 on 库名.表名 from 用户名@"客户端地址"
#revoke all on *.* from user@192.168.4.12;

(2)通过修改数据库表记录撤销
use mysql
>show tables;
use  已有授权用户信息
db   授权用户对库的访问权限
tables_priv   授权用户对表的访问权限
columns_priv  授权用户对表中字段的访问权限

#update user set delete_priv="N",drop_priv="N" where user="user"and host="192.168.4.254"; /撤销删除,改动权限
flush privileges;
show grants for user@192.168.4.254;

########################################

数据备份与恢复(完全备份与完全恢复)

备份方式
(a)物理备份: 直接copy库或表对应的文件
备份
#cp -rp /var/lib/mysql/gamedb /allbak
恢复
#cp -rp /allbak /var/lib/mysql/gamedb
使用物理备份需要注意库的权限,属主,属组都要是mysql

(b)逻辑备份: 执行备份时,根据已有的库和表生成对应sql命令,把生成的sql命令存储到指定的备份文件里。
#mysqldump -u用户名 -p密码 库名 > /目录/名.sql
库名表示方式:
--all-databases     /备份数据库服务器的所有数据  
库名           /备份一个库的所有数据
库 表              /备份一个表的所有数据
-B 库名1 库名2 ..    /一起备份多个库的所有数据
备份
#mysqldump -uroot -p"abc123" gamedb > /allbak/mysql.sql
恢复
#mysql>create database gamedb    /恢复时需要先创建好库
#mysql -uroot -pabc123 gamedb < /allbak/mysql.sql

(c)完全备份: 备份所有数据
(d)差异备份: 备份自完全备份后的收有数据
(e)增量备份: 备份自上一次备份后,产生的新数据

 备份策略使用方式
 完全+差异
 完全+增量(使用较多)

 执行完全备份的周期化任务
 /root/beifen.sh
 #! /bin/bash
 if [ ! -e /allbak ]
 mkdir /allbak 
 mysqldump -uroot -p"abc123" gamedb > /allbak/mysql-`date +%F`.sql

 systemctl start crond
 crontab -e

对于以上关于MySQL数据库密码、授权、备份与恢复,如果大家还有更多需要了解的可以持续关注我们亿速云的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

 

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI