问题产生:
安装好phpstudy后,升级了MySQL后,通过phpstudy启动,Apache可以启动,Mysql无法启动。
#解决方法:
#之前已经装过Mysql,要把系统服务里面的MySQL删除,留下MySQLa服务。
#在cmd命令行下输入:sc delete mysql 即可删除。
非服务模式:
步骤:
一、备份原来 phpStudy 中 MySQL 安装目录
二、把下载的 MySQL 压缩文件解压至 phpStudy 下的 MySQL目录,复制 my-default.ini ,重命名为 my.ini。
打开 my.ini,找到 #basedir 处编辑:
basedir=D:/phpStudy/MySQL
datadir=D:/phpStudy/MySQL/data
三、把 MySQL 安装路径添加至系统环境变量
四、在 cmd 下进入 MySQL 的 bin 目录(我的是 D:/phpStudy/MySQL/bin),执行:
mysqld –initialize
初始化数据库
#五、安装服务:
#mysqld -install
#启动服务:
#net start MySQL
六、此时登入 MySQL 报错:
C:\Users\dell>mysql -uroot -p
Enter password: **
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
尝试修改 root 用户密码:
打开 my.ini,找到 [mysqld],在下面添加:
skip-grant-tables
##skip-grant-tables = 1
此时使用 root 账号,密码处按回车即可登录。
修改密码:
mysql>update mysql.user set authentication_string=password(‘new_password’) where user=’root’ and Host =’localhost’
mysql> ALTER USER USER() IDENTIFIED BY ‘news_password’;
刷新权限:
FLUSH PRIVILEGES;
注释掉 my.ini 中刚才添加的
skip-grant-tables
重新登录。
此时查看 mySQL 版本:
mysql> select version();
+———–+
| version() |
+———–+
| 5.7.17 |
+———–+
一、mysql5.7 密码过期问题
报错:
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
翻译:
错误1862(HY000):你的密码已经过期。登录必须改变它使用一个客户端,支持过期的密码。
1、 用忽略授权表的方法进入mysql
vi /etc/my.cnf
[mysqld]
skip-grant-tables
:wq! #保存退出
2、进入mysql,查看root用户的详细信息
# mysql -u root -p
> use mysql
> select * from mysql.user where user='root' \G
3、把password_expired 改成不过期
> update
user
set
password_expired=
'N'
where
user
=
'root'
;
> flush
privileges
;
> quit
4、把 /etc/my.cnf 的 skip-grant-tables 这行注释掉
5、重启服务
#service mysql restart
mysql> quit;