2018-3-23 13周5次课 MySQL常用操作(下)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-3-23 13周5次课 MySQL常用操作(下)相关的知识,希望对你有一定的参考价值。

13.4 mysql用户管理


·创建用户:grant all on *.* to 'user1' identified by 'passwd';

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


mysql> grant all on *.* to 'user1' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to 'user2'@'127.0.0.1' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

技术分享图片


·针对mysql数据库所有的表有权限

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


·针对所有的ip来授权

grant all on *.* to 'user2'@'%' identified by '123456';


·针对 socket 授权:

mysql> grant all on *.* to 'user1'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

技术分享图片


·查看登录用户授权:show grants

技术分享图片


·查看指定用户授权:show grants for 用户名@ip;

技术分享图片


·针对部分权限授权:

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

技术分享图片


·如果想给同一个用户在不通的ip上授权:

把grants里的命令复制执行以便,更改ip

技术分享图片




13.5 常用sql语句


·查看某个数据库的某个表有多少行

select count(*) from mysql.user;

技术分享图片


·查看某个表的说有内容:

select * from mysql.db\G;

技术分享图片

技术分享图片

(select count(*) 和 select * 这种操作尽量避免,数据太大的表,比较耗费时间)


·显示字段:

select db from mysql.db;

技术分享图片

什么是字段:下图这些就是字段

技术分享图片


·显示多个字段:

select db,user from mysql.db;

技术分享图片


·模糊查询:

select * from mysql.db where host like '192.168.%';
select * from mysql.db where host like '192.168.%'\G;

技术分享图片


·往表里插入数据:

insert into db1.t1 values (1, 'abc');

技术分享图片



·更改表里的数据信息:

update db1.t1 set name='aaa' where id=1;
update db1.t1 set id=2 where name='xyz';

技术分享图片


·根据条件删除:

delete from db1.t1 where id=3;

技术分享图片


·清空表的所有数据(不用逐条删除):

truncate table db1.t1;

技术分享图片

(truncate 和 drop、delete的区别,truncate只清楚表里的数据,不破坏表的结构)


·彻底删除表:

drop table db1.t1;


mysql> drop table db1.t1;
Query OK, 0 rows affected (0.01 sec)


·彻底删除数据库:

drop database db1;


mysql> drop database db1;
Query OK, 1 row affected (0.01 sec)





13.6 mysql数据库备份恢复


·备份库:

mysqldump -u用户名 -p密码 数据库 > 备份数据文件路径

[[email protected] ~]# mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

(数据太多不列出)


·恢复库:

mysql -u用户名 -p密码 数据库 < 备份数据文件路径

[[email protected] ~]# mysql -uroot -p123456 mysql2 < /tmp/mysql.sq

技术分享图片


·备份表:

mysqldump -u用户名 -p密码 数据库 表名 > 备份数据路径

[[email protected] ~]# mysqldump -uroot -p123456 mysql user > /tmp/user.sql


·恢复表:

mysqldump -u用户名 -p密码 数据库 < 备份数据路径

[[email protected] ~]# mysqldump -uroot -p123456 mysql < /tmp/user.sql

(恢复表数据,只要写库名即可)


·备份所有库:

mysqldump -u用户名 -p密码 -A > 备份数据路径

[[email protected] ~]# mysqldump -uroot -p123456 -A > /tmp/mysql_all.sql


·只备份表结构:

mysqldump -u用户名 -p密码 -d 数据库 > 备份数据路径

[[email protected] ~]# mysqldump -uroot -p123456 -d mysql2 > /tmp/mysql2.sql








以上是关于2018-3-23 13周5次课 MySQL常用操作(下)的主要内容,如果未能解决你的问题,请参考以下文章

2018-3-22 13周4次课 MySQL常用操作(上)

2018.3.22 13周4次课

2018.1.12 5周5次课

2018.1.11 5周4次课

2018.1.6 4周5次课

2017.12.29 3周5次课