一、用户权限步骤
创建新用户
create user ‘gggg’@‘hostlocal’ identified by ‘123’;
#在本机上创建一个密码为123的用户,只可在本机进行操作
create user ‘alex’@’%’ identified by ‘123’;
#创建一个密码为123的alex用户,%表示所有人都可在任何机器上登陆
create user ‘eva’@‘192.168.20.%’ identified by ‘123’;
#创建一个密码为123的eva用户,只有在该局域网下的机器可登陆
#此时的用户若想登陆,必须输入创建用户的计算机的ip
mysql -h192.168.20.97 -ueva -p123;
#创建对不同级别拥有操作权限的用户,下面用查看操作select举例
#级别1:对所有库拥有权限
grant select on . to ‘gggg1’@‘localhost’ identified by ‘123’;
#级别2:对指定库db1拥有权限
grant select on db1.* to ‘gggg2’@‘localhost’ identified’ by ‘123’;
#级别3:对指定库下的指定表拥有权限db1.t1
grant select on db1.t1 to ‘gggg3’@‘localhost’ identified by ‘123’;
#级别4:仅对某字段拥有权限
grant select (id,name) on db1.ti to ‘gggg4’@‘localhost’ identified by
‘123’;
#赋予查看id和name的权限
grant select (id,name),update (name) on db1.t1 to ‘gggg5’@‘localhost’
identified by ‘123’;
#赋予查看id和name的权限,并赋予修改name的权限
#删除权限
revoke select on db1.* to ‘gggg5’@’%’;
#修改完权限后记得手动刷新
flush privileges;
二、定时备份数据库数据
1.创建备份目录:
cd /home
mkdir /home/dbback
cd /home/dbback
2.创建备份Shell脚本
----没有压缩备份文件脚本
vi bkDatabaseName.sh(bkDatabaseName可以根据实际库名起名)
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName >
/home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
----压缩备份文件脚本
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip >
/home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
注意:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;
3.添加可执行权限
chmod u+x bkDatabaseName.sh
执行脚本,看看是否报错
./bkDatabaseName.sh
注:这里可能会报错
Warning: Using a password on the command line interface can be insecure.
解决方法、修改数据库配置文件
修改mysql配置文件–有些是在/etc/my.cnf,有些是/etc/my.conf
我们需要在[client]部分添加脚本
host=localhost
user=数据库用户
password=‘数据库密码’
然后保存,即可解决报错问题
4.采用命令导出和导入数据库
#导出数据库
mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql
#导入数据库
mysql --defaults-extra-file=/etc/my.cnf database < database.sql
5.添加定时计划
确认crontab是否安装: 如果没有请百度先安装crontab
crontab -e
*/1 * * * * /home/backup/bkDatabaseName.sh
意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”
6.完成定时备份