MySQL管理


安全性机制

1、创建一个用户,用户名为 jeffrey ,密码为 mypass ,主机名是 localhost:用create user 创建的新用户没有任何权限。

         create user  'jeffrey' @ 'localhost'  identified  by  'mypass';   若不要密码则省略 identified 部分

        create user  JIANG  identified  by  'mypass';

2、GRANT可以在创建用户时对用户授权,创建新用户testUser,密码 testpwd, 并授予用户对所有数据表的select 和update权限:

          grant select ,update on *.* 'testUser'@'localhost' identifiede by 'testpwd'; 

3、也直接操作mysql用户表:insert into mysql.user(host,User,password,[privilegelist])

                             values ('host','username',PASSWORD(password),privilegevaluelist); 

                           PASSWORD()为密码加密函数,privilegevaluelist为对应权限值,只能Y或N

3、DROP USER  'user'@'localhost';删除user在本地登录的权限

      DROP USER A; 删除所有授权表中的该用户权限记录

     DELECT  FROM MySQL.user  WHERE host='hostname' and user='username';

4、root 用户修改密码:mysqladmin -u root -p password 'rootpwd'

5、update修改密码:  update  mysql.user set password=password('1234567') where user='root' and host='localhost';

     再执行  FLUSH PRIVILEGES;重新加载用户权限

6、SET修改密码:SET PASSWORD=password('1234567');

7、SET修改普通用户密码: set  password for  'user'@'host'=password('123456');    如用户testUser的   ‘testUser'@'localhost'

8、密码丢失

    先切换到mysql的bin目录下:

           mysqld 命令如下:mysqld --skip-grant-tables

           mysqld-nt命令如下:mysqld-nt --skip-grant-tables

         Linux中:mysqld-safe 命令如下:mysqld_safe --skip-grant-tables user=mysql

                         /etc/init.d/mysql命令如下:/etc/init.d/mysql  start-mysqld  --skip-grant-tables

   然后:net stop Mysql   停止mysql服务进程

   再输入:mysqld --skip-grant-tables  启动mysql服务

   再另外打开一个命令行窗口,输入不加密码的登陆命令:mysql -u root

   登陆成功后,用update或set重置密码即可。

9、收回权限 revoke





数据备份

1、mysqldump -u  root  -p  数据库名(或数据库下的表名:samp_db 或samp_db test)>D:/work/test.sql

2、unix系统下:mysqlhotcopy -u  root  -p  test  /usr/backup             将test数据库备份到  /usr/backup  目录下

3、将备份导入数据库:mysql  -u  root  -p  数据库名 <D:/work/work.sql

     若已经登录mysql服务器:use samp_db;再 source filename;如:source  D:/work/work.sql


表的导入和导出

1、select *  from  samp_db.test  into  outfile  ''D:\test1.txt';   将 samp_db 数据库中的 test 表中的记录导出到文本文件。

2、

select * from table_name
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/xx.txt'
FIELDS

             TERMINATED BY ','         表示字段间用逗号分隔
             OPTIONALLY ENCLOSED BY ' \" '     表示每个字段用双引号括起来

             ESCAPED BY ' \' '    将系统默认的转义字符替换为单引号

LINES

            TERMINATED BY '\r\n'      表示每行以回车换行符结尾

3、mysql  -u  root  -p  (--vertical)  --execute='select * from products;' samp_db  > D:\test1.txt

4、导入

   load  date  infile  'D:\test1.txt '  into  table  samp_db.products;


日志

1、删除所有二进制日志文件:reset  master;

2、purge master  logs before 'date';删除date之前的所有日志文件

     purge master  logs to 'log_name'; 删除文件名编号比指定文件编号小的所有日志文件

3、查看日志文件的个数和名称:show  binary logs;

     查看二进制文件: mysqlbinlog   D:/MySQL/log/binlog.000001

4、恢复 mysql 数据库到2013年3月30日15:27:48 时的状态,恢复这个时间之前的。

     mysqlbinlog  --stop-date='2013-03-30  15:27:48'  D:\mysql\log\binlog\binlog.000008  | mysql   -u   user -p  pass

5、暂停记录二进制日志:set  sql_log_bin =0;恢复则为  1

6、查看错误日志:show  variables like 'log_error'; 删除后重建错误日志:flush  logs;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值