mysql5

要想找出你的服务器支持哪个存储引擎,执行下面的语句:
mysql> SHOW ENGINES;

你还可以使用下面的语句代替SHOW ENGINES,并检查你感兴趣的存储引擎的变量值:
mysql> SHOW VARIABLES LIKE 'have%';

值 含义
YES 支持该特性并已经激活。
NO 不支持该特性。
DISABLED 支持该特性但被禁用。

NO值表示编译的服务器不支持该特性,因此在运行时不能激活。

mysqld_safe支持下面的选项:

· --help

显示帮助消息并退出。

启用MySQL实例管理器的典型MySQL服务器启动/关闭循环为:

· 用/etc/init.d/mysql脚本启动MySQL实例管理器。

· MySQL实例管理器启动所有实例并监视它们。

· 如果某个服务器实例失败,MySQL实例管理器重启它。

· 如果MySQL实例管理器被关闭(例如用/etc/init.d/mysql stop命令),所有实例被MySQL实例管理器关闭。

当用命令行客户端连接MySQL服务器时,你应为想要使用的账户指定用户名和密码:

shell> mysql --user=monty --password=guess db_name
如果你想用较短的选项,命令应为:

shell> mysql -u monty -pguess db_name

-p选项和后面的密码值之间绝对不能有空格。
前面的命令包括命令行中的密码值,会很危险。要想避免,指定--password或-p选项后面不跟任何密码值:
shell> mysql --user=monty --password db_name
shell> mysql -u monty -p db_name
然后客户端程序输出提示符并等待你输入密码。(在这些示例中,db_name并不为密码,因为用空格将它同前面的密码项隔离开了)。

可以用两种方式创建MySQL账户:

· 使用GRANT语句

· 直接操作MySQL授权表

最好的方法是使用GRANT语句,因为这样更精确,错误少。

创建账户的其它方法是使用MySQL账户管理功能的第三方程序。phpMyAdmin即是一个程序。

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';

mysql> INSERT INTO user
-> VALUES('localhost','monty',PASSWORD('some_pass'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user
-> VALUES('%','monty',PASSWORD('some_pass'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user SET Host='localhost',User='admin',
-> Reload_priv='Y', Process_priv='Y';
mysql> INSERT INTO user (Host,User,Password)
-> VALUES('localhost','dummy','');
mysql> FLUSH PRIVILEGES;

当你用INSERT创建账户时使用FLUSH PRIVILEGES的原因是告诉服务器重读授权表。否则,只有重启服务器后更改方会被注意到。使用 GRANT,则不需要使用FLUSH PRIVILEGES。

用INSERT使用PASSWORD()函数是为了加密密码。GRANT语句为你加密密码,因此不需要PASSWORD()。

'Y'值启用账户权限。对于admin账户,还可以使用更加可读的INSERT扩充的语法(使用SET)。

 

posted @ 2013-05-18 15:25  1406425891  阅读(102)  评论(0编辑  收藏  举报