1. 程式人生 > >2018-3-23 13周5次課 MySQL常用操作(下)

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

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密碼 數據庫 > 備份數據文件路徑

[root@localhost ~]# mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

(數據太多不列出)


·恢復庫:

mysql -u用戶名 -p密碼 數據庫 < 備份數據文件路徑

[root@localhost ~]# mysql -uroot -p123456 mysql2 < /tmp/mysql.sq

技術分享圖片


·備份表:

mysqldump -u用戶名 -p密碼 數據庫 表名 > 備份數據路徑

[root@localhost ~]# mysqldump -uroot -p123456 mysql user > /tmp/user.sql


·恢復表:

mysqldump -u用戶名 -p密碼 數據庫 < 備份數據路徑

[root@localhost ~]# mysqldump -uroot -p123456 mysql < /tmp/user.sql

(恢復表數據,只要寫庫名即可)


·備份所有庫:

mysqldump -u用戶名 -p密碼 -A > 備份數據路徑

[root@localhost ~]# mysqldump -uroot -p123456 -A > /tmp/mysql_all.sql


·只備份表結構:

mysqldump -u用戶名 -p密碼 -d 數據庫 > 備份數據路徑

[root@localhost ~]# mysqldump -uroot -p123456 -d mysql2 > /tmp/mysql2.sql








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