mysql使用總結--不停更新中

1:創建用戶的權限 / 設置MySql允許外部連接的方法

 

mysql>GRANT FILE ON *.* TO [email protected] IDENTIFIED BY ‘1234’;


開放一個賬號backup密碼1234給來自IP:192.168.1.200有檔案處理的權限
格式:grant 權限 on 數據庫名.表名 用戶@登錄主機 identified by "用戶密碼";

 


格式:grant 權限 on 數據庫名.表名 用戶@登錄主機 identified by "用戶密碼";
mysql>;grant select,update,insert,delete on *.* to
[email protected] identified by "1234";

 

     :  grant all privileges on *.* to 'qiqi'@'%' identified by '123456'; 

 

設置權限,grant 權限名(all) on     庫名(*表全部).表名 to   要授權的用戶名@"%"(%表示所有的IP,可以只些一個IP) identified by "密碼";


通常我都是寫grant all on *.* to root@"%" identified by "密碼";

 

 

2:SQL語句中有變量的解決辦法


sprintf(str,"select * from user where id=%d", i);
mysql_query(&zhqy,str);

sprintf(str,"insert into info value(/"%s/",/"%s/");",buf,buf );

 

3:添加賬戶

 

以root連接到服務器上後,可以添加新賬戶。下面的語句使用GRANT來設置四個新賬戶:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'

    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'

    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';

mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';

GRANT語句創建的賬戶有下面的屬性:

·         其中兩個賬戶有相同的用戶名monty和密碼some_pass。兩個賬戶均爲超級用戶賬戶,具有完全的權限可以做任何事情。一個賬戶 ('monty'@'localhost')只用於從本機連接時。另一個賬戶('monty'@'%')可用於從其它主機連接。請注意monty的兩個賬戶必須能從任何主機以monty連接。沒有localhost賬戶,當monty從本機連接時,mysql_install_db創建的localhost的匿名用戶賬戶將佔先。結果是,monty將被視爲匿名用戶。原因是匿名用戶賬戶的Host列值比'monty'@'%'賬戶更具體,這樣在user表排序順序中排在前面。(user表排序的討論要參考mysql手冊)。

·         一個賬戶有用戶名admin,沒有密碼。該賬戶只用於從本機連接。授予了RELOADPROCESS管理權限。這些權限允許admin用戶執行mysqladmin reloadmysqladmin refreshmysqladmin flush-xxx命令,以及mysqladmin processlist。未授予訪問數據庫的權限。你可以通過GRANT語句添加此類權限。

·         一個賬戶有用戶名dummy,沒有密碼。該賬戶只用於從本機連接。未授予權限。通過GRANT語句中的USAGE權限,你可以創建賬戶而不授予任何權限。它可以將所有全局權限設爲'N'。假定你將在以後將具體權限授予該賬戶。

 

4:配置數據庫的字符集

Windows平臺
windows下的mysql配置文件是my.ini,一般在c:/windows/my.ini或者c:/winnt/my.ini可以直接在這個文件裏面加上


default-character-set=gbk #或gb2312,big5,utf8

然後重新啓動mysql

service mysql restart


Unix平臺


linux下的mysql配置文件是my.cnf,一般是/etc/my.cnf,如果找不到可以用find命令找一下:
find / -iname my.cnf

在這個文件裏面加上

default-character-set=gbk #或gb2312,big5,utf8

然後重新啓動mysql 

/etc/init.d/mysql restart

 

 

 

 

 

 

 

 

 

 

發佈了39 篇原創文章 · 獲贊 6 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章