十三周二次课 2018.01.15 mysql用户管理、常用sql语句、mysql数据库备份恢复
13.4 mysql用户管理
mysql默认有一个root用户,但是由于root目录权限过高误差很危险,所以需要新建一个用户,然后给它授予相应的权限。
创建用户方法
grant是授权的意思,all是所有的权限,to指定名字,@是指定来源ip(就是用户只能通过这个ip登录数据库)identified指定密码。
*.*就是权限,前面的*表示库名,你可以写成mysql.*那么他就有数据库所有表的权限,@后面的ip也可以写成%,意思是所有的ip,
然后我们可以连接试试看(因为上面@来源ip指定的不是localhost,所以这里登录需要-h指定ip,想要不指定就能登录,需要在创建的时候来源ip指定本地,也就是localhost)
@也可以指定本地,就是sock,如下图
然后登录就不用指定ip地址了
我们还可以根据具体的权限去授权,(授权时是需要登录root用户授权的)
然后我们查看一下user2用户的授权,
如果用户不仅需要在133.1上登录数据库,还要在133.2上登,那么我们可以
把上图中的两行授权命令改一下ip,然后各执行一遍
然后可以查看一下
这就是一样的用户一样的密码可以在在不同ip登录的方法。(密码不知道的时候就可以使用这种方法)
如果你知道密码就可以使用之前的方法
13.5 常用sql语句
select查看insert插入update更改
查看数据库表的行数,如下查看mysql数据库user表的行数。(count(*)表示查找这表的行数)
查看数据库表的所有内容,如下图查看mysql数据库db表的所有内容。
(*是所有的意思,平时不建议使用,因为可能有的表里面可能有很多东西,这样做的话或很耗费时间和资源)
(数据库有两种引擎:默认myISAM和innoDB,默认的myISAM引擎使用如上两种查询会很快,另一个则很慢)
查看字段,如下图查看db字段。
查看两个字段
模糊查询字段,like就是模糊匹配
插入数据,如下图我们给db1库t1表插入数据,可以看到它有两个字段,一个是id一个是name,
(ip就是1,name就是abc)
然后我们查看一下,这样就插进去了。(对于要插入的内容如果是字符串尽量加单引号,数字可以不加)
修改数据,如下图修改id是1数据的name为aaa。
删除数据可以使用如下命令,下图是删除db1库t1表的id是2的所有数据。
清空一个表,(清空表内容,但不清除字段,保留表结构)
如下图还是有表结构的
但是删除表是连结构全部删除。
删除库。
13.6 mysql数据库备份恢复
备份表指定的库和表中间空格隔开,恢复表时只要写库就行了,不用写表。
mysqldump是针对比较小的数据库,如果数据量很大的话使用它备份就会很慢。