一、在mysql数据中,自带以下张表,存储用户的表在myql数据库的user表中:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
SELECT User, Host, Password FROM mysql.user;
二、mysql中添加用户
create user testname@localhost indentified by 'redhat';
查看用户对数据库具有的权限:
show grants for root@localhost;
赋予用户对数据库具有的权限:
grant select ,updata,delete,insert on mysql.user to testname@localhost;
撤销用户对数据库具有的权限:
revoke select,delete,delete,insert on mysql.user from testname@localhost;
赋予或撤销特权后要刷新一下特权:
flush privileges;
exit;
三、删除用户
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
修改用户密码:mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
mysql>flush privileges;
四、备份
(1)逻辑备份
#mysql -uroot -p ydatabase > /root/ydatabase.dump
#mysql -uroot -p --all-databases > /backup/mariadb.dump
--no-data 仅存数据库结构,不转存数据
恢复逻辑备份:
#mysql -uroot -p ydatabase < /root/ydatabase.dump
( 2 )物理备份
{如果mysql部署是就专门放在一个专用的LVM分区上}
物理备份基于块设备,可以利用LVM 快照的优势,优势速度非常快。
首先验证Mariadb 的文件存储位置:
#mysqladmin variables | grep datadir 可知路径,如/var/lib/mysql
找到托管该路径的逻辑卷:
#df /var/lib/mysql 可知逻辑卷:如/dev/mapper/vg0-mariadb 卷组为vg0,逻辑卷名称为mariadb
#vgdisplay vg0 | grep Free 可知卷组vg0可用于快照的空间
接下来开两个终端:
第一个:连接mariadb把表刷到磁盘,并将其锁定(或者,关闭mariadb)
#msyql -uroot -p
mysql>flush tables with read lock;
不能关闭这个终端,直到备份完,关闭则解锁了
第二个终端:
#lvcreate -L20G -s -n mariadb-backup /dev/vg0/mariadb
回到第一个终端:
mysql>unlock tables;解锁表就完成了物理备份
恢复物理备份:
#mkdir /mnt/snapshot
#mount /dev/vg0/mariadb-backup /mnt/snapshot
# systemctl stop mariadb
#msyqladmin variables | grep datadir
# rm -rf /var/lib/mysql/*
删除原来/var/lib/mysql/*
将物理备份的副本恢复到/var/lib/mysql
即完成了物理备份