mysql 使用者的管理

2021-05-25 04:32:19 字數 3606 閱讀 8876

/**在命令列:匯入sql檔案**/

sources 'c:/documents and settings/administrator/桌面/優化查詢.sql' into table user_infor;

/**備份db**/

mysqldump -uroot -p123456 mydb>d:/backup20070713.sql;

/**在某個db上的某張表建立乙個使用者格式**/

grant select,insert,update,delete on *[(資料庫)].* to 使用者名稱@登入主機 identified by "密碼" ;

/**在資料庫為mydb的yser_infor上建立乙個使用者(賬戶:tfq,密碼:123456)***/

grant select,insert,update,delete on mydb.user_infor to tfq@'%' identified by '123456';

/*例1增加的使用者是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登入你的mysql資料庫

並對你的資料可以為所欲為了,解決辦法見例2.

例2,增加乙個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢,插入,修改,

刪除的操作(localhost指本地主機,即mysql資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,

他也無法從internet上直接訪問資料庫,只能通過mysql主機上的web頁來訪問了.

localhost=127.0.0.1

192.168.1.17

*/grant select,insert,update,delete on mydb.user_infor to tfq@localhost identified by "abc";

/*如果你不想test2有密碼,可以再打乙個命令將密碼消掉. */

grant select,insert,update,delete on mydb.user_infor to tfq@localhost identified by "";

/*重新整理系統許可權表. */

flush privileges;

/*刪除使用者.*/

drop user 'tfq'@localhost;

flush privileges;

/**修改使用者密碼**/

update mysql.user set password=password('tfq') where user="tfq" and host="localhost";

/**資料型別之間的轉換

cast(expr as type), convert(expr,type) , convert(expr using transcoding_name)

cast() 和convert() 函式可用來獲取乙個型別的值,並產生另乙個型別的值。

這個型別 可以是以下值其中的 乙個:

binary[(n)]

char[(n)]

date

datetime

decimal

signed [integer]

time

unsigned [integer]

select convert(1,varchar)+'要顯示的值';

select cast(1 as char)+'要顯示的值';

select cast(1 as varchar)

select cast(1 as varchar);

select convert(_latin1'6' using utf8);

/***mysql的優化查詢***/

/*** 1、使用索引

2、explain分析查詢

3、調整mysql的內部配置。

***/

#判斷db是否存在

create database if not exists mydb;

use mydb;

#判斷表是否存在

drop table if exists user_class;

create table user_class(

uc_id int auto_increment primary key,

uc_name nvarchar(30),

uc_remark text

);drop table if exists user_infor;

create table user_infor(

user_id int auto_increment primary key,

user_name char(30),

user_pwd int,

user_*** char(2),

user_birthday datetime,

uc_id int,

foreign key(uc_id) references user_class(uc_id) on delete cascade

)type=innodb;

/**插入user_class資料**/

#drop procedure insert_pro;

delimiter//

create procedure insert_class_pro()

begin

declare cout int;

set cout=1;

while cout<=15 do

insert into user_class values (null,cout+'年級','備註');

set cout=cout+1;

end while;

end;

///**插入user_infor資料**/

#drop procedure insert_user_pro;

delimiter//

create procedure insert_user_pro()

begin

declare cout int;

declare v_class int;

set cout=1;

set v_class=1;

while cout<=1000 do

if v_class>15 then

set v_class=v_class-15;

end if;

insert into user_infor values (null,cast(cout as char)+'張三','123456','男','1988-05-04',v_class);

set cout=cout+1;

set v_class=v_class+1;

end while;

end;

//call insert_class_pro();

call insert_user_pro();

select * from user_class

select * from user_infor;

explain select * from user_infor where 0;

distinct

mysql當找到當前記錄的匹配聯合結果的第一條記錄之後,就不再搜尋其他記錄了。

mysql 使用者管理 MySQL使用者管理

一 mysql使用者管理的必要性 如果我們只能使用root使用者,這樣安全隱患,這時,我們需要使用mysql的使用者管理技術.一次獲得 分配許可權user db tables priv columns priv 許可權範圍一次遞減,全域性許可權覆蓋區域性許可權。換句話說user表中的每個許可權都代表...

mysql授權 使用者管理 MySQL使用者管理 授權

建立使用者 命令 create user username host identified by password 說明 username 建立的使用者名稱 host 使用者可以在哪個主機上登入,任意主機選擇 password 使用者的密碼 例 create user arvin identifie...

mysql 使用者的管理

在命令列 匯入sql檔案 sources c documents and settings administrator 桌面 優化查詢.sql into table user infor 備份db mysqldump uroot p123456 mydb d backup20070713.sql 在...