码迷,mamicode.com
首页 > 数据库 > 详细

MySQL常用操作(2)MySQL用户管理、常用sql语句、 MySQL数据库备份恢复

时间:2018-03-27 15:26:50      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:MySQL用户管理

                MySQL用户管理

技术分享图片

创建一个普通用户并且授权

1.grant all on *.* to 'user1' identified by 'passwd';

grant all on *.* to 'user1' identified by '123456';

(创建user1用户,all表示所有权限(读、写,增、删、改、查等);*.*,前面的*表示所有的数据库,后面的*表示所有的表;identified by后面跟密码,要用单引号''引起来)

grant all on *.* to 'user1'@'指定来源ip' identified by 'passwd';

grant all on *.* to 'user1'@'127.0.0.1' identified by '123456';

(创建了一个user1的用户,并且指定了它只能通过127.0.0.1这个ip登录)


grant all on *.* to 'user1'@'%' identified by 'passwd';

(%表示通配,让所有ip都能连接)

技术分享图片


创建用户,登录时使用sock登录,不用指定-h+ip:

grant all on *.* to 'user1'@'localhost' identified by '123456';


创建用户也可以指定数据库,和具体赋予用户什么权限:

grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.136.133' identified by 'passwd';


查看已创建的用户被赋予什么权限:

(1)已经登录了创建的用户使用:show grants

技术分享图片

(2)在其他用户下,查看指定的用户被赋予的权限:

 show grants for 用户名@'被指定的ip';

 show grants for user1@'127.0.0.1';

技术分享图片


技术分享图片


通过grants:

show grants for user2@'192.168.136.133'; 出来的内容都在mysql命令中执行一遍,只修改ip,则同一个用户就可以有多个ip登录。(且密码不变)

技术分享图片




                        常用sql语句

技术分享图片

1.select count(*) from mysql.user;  //查看行数

2.select * from mysql.db; //查看表的所有内容

(这两条搜索所有内容 的命令少用,如果表的内容多,耗费资源。

  mysql的引擎:MyISAM (自动的统计(行))和InnoDB(不会自动统计(行))

技术分享图片如果表中我们设置引擎为MyISAM则在搜索时会很快。

3.select db,user from mysql.db;//搜索mysql.db表中的字段

4.select * from mysql.db where host like '192.168.%'; //模糊搜索


5. insert into db1.t1 values (1, 'abc'); //向db1库t1表插入数据

(插入内容有字符串要加单引号'')

技术分享图片

6. update db1.t1 set name='aaa' where id=1;//更新内容(改)

7.truncate table db1.t1; //删除db1.t1表中的数据,但是表结构不变(创表的字段不删,仅删除内容)

技术分享图片

8.drop table db1.t1; //删除表


9. drop database db1; //删除数据库


在命令行下执行mysql里的命令:(如创建一个库)

mysql -uroot -p123456 -e "create database mysql2"


                     MySQL数据库备份恢复

技术分享图片

 (在linux命令行操作,非在mysql命令下)

备份的命令:mysqldump 

1.备份库:(备份mysql下root用户的mysql库)

mysqldump-uroot -p127.0.0.1 mysql >/tmp/mysqlbak.sql

(mysqldump-uroot -p127.0.0.1 mysql 其实就是搜到内容)


恢复库

mysql -uroot -p123456  mysql < /tmp/mysqlbak.sql


(备份和恢复库或者表,其实就是先把内容搜索出来,让后重定向或者反向重定向)


2.备份表

 mysqldump -uroot -p123456 mysql user > /tmp/user.sql

备份后查看备份文件:cat /tmp/user.sql

技术分享图片

(可以看到一些数据来源,和命令)


恢复表(回复表时只需要指定库就行,不用加上表名)

 mysql -uroot -p123456 mysql < /tmp/user.sql



3.备份所有库 

mysqldump -uroot -p -A >/tmp/123.sql

(-A 表示所有)

只备份表结构 

mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

(-d 表示表结构)

(只备份表结构就是可以把表的数据过滤,只备份表的结构,创建表时的)


!!!!mysqldump 备份很大的数据量时,会显得很慢!


































MySQL常用操作(2)MySQL用户管理、常用sql语句、 MySQL数据库备份恢复

标签:MySQL用户管理

原文地址:http://blog.51cto.com/13589255/2091603

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!