专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>mysql>

十条关于使用MySQL应该注意的问题

百度收藏 QQ搜藏

原文:http://www.onlamp.com/pub/a/onlamp/2002/07/11/MySQLtips.html

作为一个优秀而又复杂的数据库软件Mysql,我们应该对它有基本了解。本文介绍了一套最佳做法,让MySQL管理员在MySQL下的安全,维修,以及性能等方面有所帮助。

1:为“root”用户设置密码,然后重新命名该用户。

完成一个干净的MySQL安装后,第一件事就是为root用户设置密码:

[01:19:00] george@firenze$ mysqladmin -u root password '密码'

设置完密码,还需要更改“root”用户的名称。MySQL服务器可能是黑客入侵的目标之一,因为root用户存在于大多数的系统上,它是一个已知的用户并且拥有数据库超级管理权限。通过改变“root”用户的名称,可以提高黑客攻击的难度。
使用下面的命令,将重新命名为“root”用户名称:

[01:25:29] george@firenze$ mysql -u root -p mysql
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 72 to server version: 4.0.0-alpha-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> UPDATE user set user = 'admin' where user = 'root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> quit;
Bye
[01:25:51] george@firenze$ mysqladmin -u root -p reload
Enter password:

当然,您也可以选择一个比“admin”更有创意的替代名称 。

2:拒绝外网用户直接访问MySQL数据库

有安全的网络服务,才能为MySQL提供一个相当坚实的保障。我们需要把mysql从互联网上隐藏起来。mysql端口只针对内网开放;如果在外网开放端口,很有可能导致攻击。

3:保护MySQL安装目录,防止其他用户访问
使用“mysql”用户安装,保护mysql数据目录。其他账户,甚至是MySQL dba都不应该置于mysql用户组,dba可以通过MySQL工具管理数据库。

4:避免二进制数据直接存放到MySQL中
MySQL返回所有结果集到客户端,所以应该避免直接将二进制数据存放在MySQL中,比如文件可以存放在文件系统中,而仅仅在MySQL中保存文件路径等信息

5:坚持标准sql语句的书写

6:避免使用AUTO_INCREMENT
在某些情况下避免使用AUTO_INCREMENT,自己生成序列化数据,在分库分表的情况下可以避免主键的重复

7:避免混合显示代码和数据库代码

8:Normalize with zeal, denormalize sparingly.

9:web服务器和应用服务器应用中使用连接池

10:使用explain优化你的sql语句

上一篇:MySQL中文排序错误的解决方法 下一篇:如何更改Mysql的监听地址(不是端口)?

power by soyo123 2007-2008