重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
下文内容主要给大家带来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数据库密码、授权、备份与恢复,如果大家还有更多需要了解的可以持续关注我们创新互联的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。