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

在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连接服务器时指定
口令

时间: 2025-01-31 01:46:14

新安装的MySQL数据库需要注意的安全知识_php技巧的相关文章

php+mysql数据库实现无限分类的方法_php技巧

本文实例讲述了php+mysql数据库实现无限分类的方法.分享给大家供大家参考.具体分析如下: 这款php无限分类代码比较完整理包括了数据库是mysql的,有增加.删除.编辑.移动的功能,同时还提供数据库sql表结构.代码如下: 复制代码 代码如下: //连接数据库 $link = mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db('class',$link)or die(mysql_error

php实现MySQL数据库备份与还原类实例_php技巧

本文实例讲述了php实现MySQL数据库备份与还原类.分享给大家供大家参考.具体分析如下: 这是一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的在dbmange中配置好连接地址用户名与数据库即可,下面我们一起来看这个例子,代码如下: 复制代码 代码如下: <?php   /**   * 创建时间: 2012年5月21日   *   * 说明:分卷文件是以_v1.sql为结尾(20120522021241_all_v1.sql)   * 功能:实现mysql数据库分卷备份,选

php下mysql数据库操作类(改自discuz)_php技巧

复制代码 代码如下: <?php /* -------------------------------- System:PT book - PT小说小偷 Code: 杰少Pakey ----------------------------------- */ $pt_mysql = new dbQuery; /** * mysql查询类 * */ class dbQuery { /** * 查询总次数 * * @var int */ var $querynum = 0; /** * 连接句柄 *

mysql数据库差异比较的PHP代码_php技巧

当然可以去PHPMYADMIN里浏览一下.但是终究有遗漏吧.所以自己写了个,比较数据库差异的脚本(PHP的),方便一下自己.当然代码很简单,就不讲解了,贴代码: 复制代码 代码如下: <? mysql_connect('localhost','root','root'); mysql_select_db('tablea'); //标准的数据库 $q = mysql_query("show tables"); while($s = mysql_fetch_array($q)){ $

Linux下安装管理mysql数据库

一.卸载掉原有mysql 我们通过工具SecureCRT 5.1连接到linux服务器,要用root管理员用户,如果是普通用户登录的话,可以通过su  -  root切换为root管理员用户. 我下载的Linux系统集成了mysql数据库在里面,我们可以通过命令来查看我们的操作系统上是否已经安装了mysql数据库: rpm -qa | grep mysql 有的话,我们就通过命令卸载掉: rpm -e --nodeps mysql 删除完以后我们再用 rpm -qa | grep mysql 命

CentOS6.8安装配置Mysql数据库(Dean的开发笔记-运维篇1)

一.首先查看该操作系统上是否已经安装了mysql数据库 [root@dean opt]# rpm -qa | grep mysql   mysql-libs-5.1.73-8.el6_8.x86_64   二.查询yum上提供的mysql数据库可下载的版本 [root@dean opt]# yum list | grep mysql mysql-libs.x86_64 5.1.73-8.el6_8 @base apr-util-mysql.x86_64 1.3.9-3.el6_0.1 base

ASP.NET与MySQL数据库简明图示入门教程_实用技巧

作者: CRYSTAL编译 在ASP时代,如果我们要建立一个数据库驱动的web站点,那么你可以选择环很多钱的微软SQL SERVER数据库或者选择要花很多时间来寻找达到性能和稳定性统一的ACCESS数据库,但在.NET时代你有另一种选择,那就是:MySQL数据库 什么是MySQL数据库? MySQL数据库是一种开放源代码的数据库,通过获得授权来保持源代码的官方支持,同时可以自由修改源代码,目前许多公司和组织都采用了这种数据库.对此详细信息您可以访问MySQL的官方站点. 第一步 下载和安装 与大

Linux中怎么安装/卸载mysql数据库

MySQL 的安装 本文所使用的 MySQL 版本为 mysql-3.22.27.tar.gz(原始码档),作业环境为 RedHat6.0 +CLE0.8 . MySQL 预设情况下会安装至 /usr/local 目录下,不过为了日後移除方便,建议将 mysql 独立安装在 /usr/local/mysql 目录.底下为安装 MySQL 的步骤: 取得 mysql-3.22.27.tar.gz 後, 於 /usr/local 目录下解开:  代码如下 复制代码 # cd /usr/local #

CentOS 安装配置 Mysql 数据库。

centos 安装 Mysql 数据库.   安装mysql 命令和mysql服务器.yum install mysql mysql-server     然后设置 mysql 编码     vi /etc/my.cnf 在[mysqld]下添加 default-character-set = utf8   在末尾添加 [mysql] default-character-set = utf8   #然后开始启动mysql   service mysqld start   #设置MySQL服务随系