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,沒有密碼。該賬戶只用於從本機連接。授予了RELOAD和PROCESS管理權限。這些權限允許admin用戶執行mysqladmin reload、mysqladmin refresh和mysqladmin 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