博客园  :: 首页  :: 新随笔  :: 管理

PHP框架入门——修改mysql的root密码,正确连接数据库

Posted on 2013-08-24 16:41  zhangyuxiu  阅读(707)  评论(0)    收藏  举报

1. 通常PHP 连接 Mysql 数据库都是需要通过root 用户名和密码连接的,默认情况下,在Mysql安装时root初始密码为空,在安装使用PHP开源系统如CI的时候,都需要填写连接Mysql数据库的用户名和密码,如果此时你忘记了Mysql 的 root 密码或没有设置Mysql 的root密码时,就必须要修改或设置Mysql的root密码。

2. 如何修改Mysql的root密码?

在所有数据库中,有一个叫mysql的数据库,其中有一个user的数据表,该表存储了本机的所有用户名和密码。我们可以通过修改user 表来修改root密码:

mysql> update user set password=PASSWORD('123456') where user='root';

Query OK, 0 rows affected (0.00 sec)

Rows matched: 1  Changed: 0  Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

注意在使用update后,需要进一步输入flush privileges;语句,否则修改密码命令操作不会生效,如果需要设置Mysql的root密码为空,则不需要使用PASSWORD函数,直接

update user set password='' where user='root';

3. 第一次使用CI连接数据时出现错误:Unable to connect to your database server using the provided settings.

可以在config/database.php最后加上如下代码进行调试。

  echo '<pre>';
     print_r($db['default']);
  echo '</pre>';

  echo 'Trying to connect to database: ' .$db['default']['database'];
  $dbh=mysql_connect
  (
    $db['default']['hostname'],
    $db['default']['username'],
    $db['default']['password'])
    or die('Cannot connect to the database because: ' . mysql_error());
    mysql_select_db ($db['default']['database']);

    echo '<br />   Connected OK:'  ;
    die( 'file: ' .__FILE__ . '--> Line: ' .__LINE__);

 详细的错误信息显示:Access denied for user 'ODBC'@'localhost' (using password: NO),因此通过第二点介绍的修改root密码就一切ok了。