MySQL資料庫的高階操作

2021-12-30 05:52:47 字數 2845 閱讀 4736

1.資料備份與還原

(1)備份

mysqldump:

mysqldump -u username -p password dbname [tbname1 [tbname2....] ]> filename.sql

mysqldump -u root -p mydb2 > c:\mysql\dump\mydb2_dump.sql

(2)恢復:只能恢復資料庫的表和記錄,不能恢復資料庫本身

mysql:方法一

mysql -u username -p password [dbname] < filename.sql

mysql:方法二,source命令

在mysql命令提示符下:建立資料庫 進入資料庫 source ***.sql 檔案 將備份的sql檔案在當前位置執行

source filename.sql //路徑

2.user表

3.建立普通使用者

(1)使用grant語句建立使用者

grant privileges on dtabase.table

to 'username' @ 'hostname' [identified by [password] 'password'] [,'username' @ 'hostname' [identified by [password] 'password']]...............

grant select on mydb2.* to 'haha' @'localhost' identified by '123456';

//錯誤

(2)使用create語句

create user 'username'@'hostname' [identified by [password] 'password'] [,'username' @ 'hostname' [identified by [password] 'password']]...............

create user 'haha'@'localhost' identified by '123456';

(3) 使用insert語句

4.刪除普通使用者

~rop user 'username'@'hostname' [,'username'@'hostname'];

drop user 'ha'@'localhost';

~elete from mysql.user where host= 'hostname' and user = 'username';

delete from mysql.user where host = 'localhost' and user = 'ha';

flush privileges; #由於直接對user表執行操作,要重新載入使用者許可權

5.修改使用者密碼

(1)修改root使用者密碼

update mysql.user set password = password('new_password') where user='username' and host='hostname';

flush privileges;

update mysql.user set password=password('qwe123!@#') where user='root' and host='localhost';

flush privileges;

//不成功

(2)root使用者修改普通使用者密碼

set password for 'username'@'hostname'=password('new_password');

set password for 'haha'@'localhost'=password('123');

//不成功

(3)普通使用者修改密碼

set password=password('new_password');

6.授予許可權:使不同使用者有不同許可權

(1)grant privileges [ (columns) ] [,privileges[(columns)]] on database.table to 'username'@'hostname' [identified by [password] 'password' ] [ 'username'@'hostname' [identified by [password] 'password' ]]...........

[with with_option [with_option]...]

with_option引數如下:

(1)grant option:將自己的許可權授予其他使用者

(2)max_queries_per_hour count:設定每小時最大查詢次數count。

(3)max_updates_per_hour count:設定每小時最多可執行多少次更新

(4)max_connections_per_hour count:設定每小時最大連線數量

(5)max_user_connections:設定每個使用者最多可以同時建立連線數量

grant insert,select on mydb2.star to 'haha'@'localhost' identified by '123456'

with grant option;

//不成功

7.檢視許可權

(1) show grants for 'username'@'hostname';

show grants for 'haha'@'localhost';

8.收回許可權

revoke privileges [ (columns) ] [,privileges[(columns)]] on database.table from 'username'@'hostname' [,'username'@'hostname' ]....

mysql高階操作 MySQL資料庫的高階操作

1.資料備份與還原 1 備份 mysqldump mysqldump u username p password dbname tbname1 tbname2.filename.sql mysqldump u root p mydb2 c mysql dump mydb2 dump.sql 2 恢復...

mysql資料庫高階 mysql資料庫高階

一 索引 索引,是資料庫中專門用於幫助使用者快速查詢資料的一種資料結構。類似於字典中的目錄,查詢字典內容時可以根據目錄查詢到資料的存放位置,然後直接獲取即可。分類 普通索引 唯一索引 全文索引 組合索引 主鍵索引 1 普通索引 普通索引僅有乙個功能 加速查詢 建立表時建立索引 create tabl...

mysql資料庫的高階操作(查詢)

1 實體與實體之間有3中對應關係,這些關係也需要儲存下來,關係型資料庫主要是儲存關係 2 在開發中需要對儲存的資料進行一些處理,用到內建的一些函式 3 檢視用於完成查詢語句的封裝 4 事務可以保證複雜的增刪改查操作有效 在操作中去使mysql資料有效 關係介紹 關係在資料庫中是非常重要的,多個資料表...