13.4 mysql用戶管理 13.5 經常使用sql語句 13.6 mysql數據庫備份恢復

13.4 mysql用戶管理

一個MySQL服務中能夠跑多個庫,不一樣的用戶能夠給予不一樣的受權,合理安全的使用MySQL。mysql

建立並受權用戶

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

grant all表明授予全部權限sql

*.*表明全部數據庫的全部表數據庫

to後是受權的用戶安全

@後爲容許登陸的來源IP,@後也能夠寫localhost,使用戶直接經過本地sock登陸,還能夠寫%,表明容許全部IP訪問MySQL架構

identified by 後是受權的用戶的密碼ide

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

注:grant命令不會記錄在命令歷史文件中,由於命令自己是不安全的。spa

查看受權

show grants 能夠查看當前用戶的受權3d

注:查看受權時要指定相應用戶以及用戶的來源IP(用戶在不一樣的IP下的權限可能不一樣)code

爲用戶根據IP受權

當用戶在127.0.0.1上具備相關權限,現該用戶須要在192.168.88.10上具備相同權限,則經過上述命令查看該用戶受權後,將權限複製一遍,對應IP修改成新的IP地址便可blog

13.5 經常使用sql語句

sql查詢能夠跨庫跨表查詢,庫與表用「.」隔開。

查詢表的行數

select count(*) from mysql.user;  //查詢mysql庫的user表的全部行數

查詢表的全部內容

select * from mysql.db;  //查詢mysql庫的db表

注:不建議使用select帶*的語句,該類語句會耗費大量的時間和資源。

查詢單一字段

select db from mysql.db; //查詢mysql庫的db表中的db字段

查詢多個字段

select db,user from mysql.db;

模糊查詢

select * from mysql.db where host like '192.168.%'; 
//在mysql庫db表中查詢來源IP爲192.168.x.x網段的全部內容

插入數據

insert into db1.t1 values (1, '123'); //向db庫的t1表中插入一條數據

注:插入的數據類型是字符串類型時,數據要加單引號。

修改數據

update db1.t1 set name='aaa' where id=1;  //將db1庫的t1表中name字段中的數據改成aaa,針對id=1的行

刪除數據

truncate table db1.t1;
drop table db1.t1;

truncate與drop命令的區別:前者只清除數據保留原有架構,後者可連同表一併刪除。

刪除數據庫

drop database 數據庫名稱;

13.6 mysql數據庫備份恢復

備份數據庫

mysqldump -uroot -p123456 mysql > /tmp/mysql.sql //將mysql庫中內容備份至mysql.sql文件中

恢復數據庫

mysql -uroot -p123456 mysql < /tmp/mysql.sql

備份表

mysqldump -uroot -p123456 mysql user > /tmp/user.sql

先寫對應的數據庫,再寫須要備份的表

恢復表

恢復表 mysql -uroot -p123456 mysql < /tmp/user.sql

恢復時前面只寫對應的數據庫,不用再寫表名

備份全部的庫

mysqldump -uroot -p123456 -A >/tmp/123.sql

只備份表結構

mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

注:mysqldump命令針對規模較小的數據庫進行操做。

相關文章
相關標籤/搜索