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常用操作(下)的主要内容,如果未能解决你的问题,请参考以下文章