新安装的MySQL数据库需要注意的安全知识


Posted in PHP onJuly 30, 2008

在Unix(Linux)上,在按照手册的指令安装好MySQL后,你必须运行mysql_install_db脚本建立包含授权
表的mysql数据库和初始权限。在Windows上,运行分发中的Setup程序初始化数据目录和mysql数据库。假
定服务器也在运行。

当你第一次在机器上安装MySQL时,mysql数据库中的授权表是这样初始化的:

你可以从本地主机(localhost)上以root连接而不指定口令。root用户拥有所有权限(包括管理权限)
并可做任何事情。(顺便说明,MySQL超级用户与Unix超级用户有相同的名字,他们彼此毫无关系。)

匿名访问被授予用户可从本地连接名为test和任何名字以test_开始的数据库。匿名用户可对数据库做任
何事情,但无管理权限。

从本地主机多服务器的连接是允许的,不管连接的用户使用一个localhost主机名或真实主机名。如:

% mysql -h localhost test

% mysql -h pit.snake.net test

你以root连接MySQL甚至不指定口令的事实只是意味着初始安装不安全,所以作为管理员的你首先要做的
应该是设置root口令,然后根据你设置口令使用的方法,你也可以告诉服务器重载授权表是它知道这个改
变。(在服务器启动时,它重载表到内存中而可能不知道你已经修改了它们。)

对MySQL 3.22和以上版本,你可以用mysqladmin设置口令:

% mysqladmin -u root password yourpassword

对于MySQL的任何版本,你可以用mysql程序并直接修改mysql数据库中的user授权表:

% mysql -u root mysql

mysql>UPDATE user SET password=PASSWORD("yourpassword") WHERE User="root";

如果你有MySQL的老版本,使用mysql和UPDATE。

在你设置完口令后,通过运行下列命令检查你是否需要告诉服务器重载授权表:

% mysqladmin -u root status

如果服务器仍然让你以root而不指定口令而连接服务器,重载授权表:

% mysqladmin -u root reload

在你设置了root的口令后(并且如果需要重载了授权表),你将需要在任何时候以root连接服务器时指定
口令

PHP 相关文章推荐
PHP Undefined index报错的修复方法
Jul 17 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
php实现简单的MVC框架实例
Sep 23 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
PHP环境搭建(php+Apache+mysql)
Nov 14 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 PHP
Laravel框架表单验证操作实例分析
Sep 30 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
说明的比较细的php 正则学习实例
Jul 30 #PHP
MySql中正则表达式的使用方法描述
Jul 30 #PHP
php自动跳转中英文页面
Jul 29 #PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 #PHP
php 全文搜索和替换的实现代码
Jul 29 #PHP
PHP中$_SERVER的详细参数与说明
Jul 29 #PHP
php include的妙用,实现路径加密
Jul 29 #PHP
You might like
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
python中使用enumerate函数遍历元素实例
2014/06/16 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
python自动下载图片的方法示例
2020/03/25 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
C# Debug和Testing相关面试题
2015/10/25 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
小学教师的个人自我鉴定
2013/10/24 职场文书
竞聘书格式及范文
2014/03/31 职场文书
锦旗标语大全
2014/06/23 职场文书
收银员岗位职责范本
2015/04/07 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript
苹果可能正在打击不进行更新的 App
2022/04/24 数码科技
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android