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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章