下文内容主要给大家带来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
>
#####################################
(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数据库密码、授权、备份与恢复,如果大家还有更多需要了解的可以持续关注我们亿速云的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。