1. 开始 -->cmd --> net stop mysql (停用MySQL服务 没启动的可以省略)
2. 找到安装路径 MySQL Server 5.1下的my.ini
3. 打开 my.ini 找到 [mysqld] 然后在下面加上
这句: skip-grant-tables (意思好像是 启动MySQL服务的时候跳过权限表认证 )(横线改为下划线后好像没有用)
4. 然后就启动数据库修改密码了
开始 --> cmd --> net start mysql (启动MySQL服务)---> mysql 回车 ( 如果成功,将出现MySQL提示符)
5. 输入use mysql; (连接权限数据库)。
6. 改密码:update user set authentication_string=password('123') where user='root';;(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 将第3 步的 my.ini里的 skip_grant_tables 去掉(启动MySQL服务的时候不能让他跳过权限表认证 )
10. 重启MySQL ,再进入,使用用户名root和刚才设置的新密码123就可以登录了。
修改完密码后,confic.default.ini中的password也要手动修改掉;
二.mysqld 免安装版 报系统错误2
修改my-default.ini文件
# basedir = .....
# datadir = .....
找到这两行,复制到[mysqld] 下,然后去掉#修改路径:如下
basedir = d:/dev/mysql (免安装包的位置; 这里根据实际情况填写)
datadir = d:/dev/mysql/data (数据库文件的位置 )
在上面路径后面添加上这一行:
[WindowsMySQLServer]
Server=d:/dev/mysql/bin/mysqld.exe
配置系统环境
1、在用户环境变量中(也可以在系统变量中)新建MYSQL_HOME
MYSQL_HOME
d:\dev\mysql
2、在用户环境变量中(也可以在系统变量中)添加到Path中
Path
%MYSQL_HOME%\bin
注册服务
a、cmd(管理员身份运行,这点很重要)
b、进入到mysql的bin目录下 输入: mysqld install
启动服务
输入 net start mysql
登录mysql
错误总结一:
发生系统错误 2。
原因:
这里我们可以再次使用 mysqld install 我们发现:“The current server installed: "C:\Program Files\MySQL\MySQL Server 5.6\mysqld" 而我们mysqld.exe真正的是在 d:\dev\mysql\bin\mysqld.exe 所以报这个错误。
正确修改方法:
即使我们配置了系统环境变量,此时我们执行mysqld时也应该到mysql/bin目录下去执行:
(注意:先移除我们上次安装错误的服务: mysqld remove)
mysqld install
net start mysql
方法同一。
解决方法:
Step 1:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28 to server version: 5.0.24a-community-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Step 2:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql
mysql>status
1、修改php.ini配置文件 error_reporting设置: 找到error_reporting = E_ALL 修改为error_reporting = E_ALL & ~E_NOTICE 原理是:减弱PHP的敏感程度,使其遇到这种问题不报错。 2、在文件的php的头部加入一下代码: ini_set("error_reporting","E_ALL & ~E_NOTICE"); 同样也可以解决问题。
降低php的安全级别
八.root用户无权限新建数据库
1.先修改各种配置文件
2.grant all on *.* to root@'%' identified by '1234567';
flush privilege;
3.此时可能出现报错The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解决方法:
先刷新一下权限表。
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on cactidb.* to dbuser@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)
4.之后再登陆phpadmin 出现报错#1862 - Your password has expired. To log in you must change it using a client that supports expired
登陆cmd set password=password('1234567');
重新登录phpadmin 即可。