2018-3-23 13周5次課 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常用操作(下)