这是在Linux 的mysql的数据库操作,
备份数据库
mysqldump -u root -p cxn> /usr/local/Backupcxn.sql//参数说明 cxn 代表着我要备份的数据库名称,usr/local/Backupcxn.sql代表着备份到usr/local下,,辈分的名称叫做Backupcxn.sql
mysqldump -uroot -proot cxn | gzip > /usr/local/mysqlbackup/cxn`date +%Y-%m-%d_%H%M%S`.sql.gz //这是压缩的备份数据库
#!/bin/sh
mysqldump -uroot -proot cxn | gzip > /usr/local/mysqlbackup/cxn`date +%Y-%m-%d_%H%M%S`.sql.gz
cd /usr/local/mysqlbackup
rm -rf `find . -name '*.sql.gz' -mtime 5` #删除5天前的备份文件
这是备份脚本
linux 进入mysql
mysql -u root -proot 分别代表用户名和密码
use cxn; 选择数据库
mysql 数据库中有一个名叫mysql 的数据库,里面有一张user表,这张表是用mysql数据库的权限用户
use mysql;进入mysql数据库;
select host,user,password from user; user 中这三个字段很重要
show grants for cxn;可以查看cxn 这个用户拥有的权限
user代表着我们数据库的用户,host代表哪些主机 如果host值为%,说明任何一台主机都可以连接上这个数据库,
更新user表中的 用户密码 UPDATE user SET Password=PASSWORD('newpassword') where USER='root',
因为user表的密码是加密存储的, 我们在数据库看到的是一串字符,所以修改密码的时候,
需要使用这个PASSWORD('newpassword')来更改,
另外在修改完之后,记得执行一下FLUSH PRIVILEGES;这个命令,刷新权限,否则会无效。
root用户给其他用户赋予对数据库的操作
GRANT delete SELECT, INSERT, UPDATE, CREATE, DROP, RELOAD, CREATE TEMPORARY TABLES, CREATE TABLESPACE ON *.* TO '****'@'%' IDENTIFIED BY PASSWORD '***************************' 第一个星星代表着给那个用户赋予权限 第二个是这个用户的密码,当然是指加密过后的密码
如果是赋予所有的权限 ,就是 ALL PRIVILEGES,当然操作完之后都要记得FLUSH PRIVILEGES;
如果在授权后面加上 WITH GRANT OPTION 代表着我这个被授权的用户也可以对其他用户进行授权
收回一个用户的权限 REVOKE ALL PRIVILEGES ON *.* FROM pig; 收回pig这个用户的所有对数据库的操作权限
收回某一中权限 REVOKE DELETE ON `cxn`.* from 'pig'@'%'; 这里需要注意一下 ,之前试过很多种,但是无效, '@'%';这个在这里加上,没有加上的话,我这会报错,而且要注意一下这里的单引号,操作完之后依旧要记得刷新一下权限。
创建一个新的用户 CREATE USER 'pig'@'%' IDENTIFIED BY '123456';