首先,服务器无法启动:
第一,在安装目录里建立一个my.ini,内容如下:
1 [mysql]
2 # 设置mysql客户端默认字符集
3 default-character-set=utf8
4 [mysqld]
5 #设置3306端口
6 port = 3306
7 # 设置mysql的安装目录
8 basedir=C:\Program Files\mysql-5.7.13-winx64
9 # 设置mysql数据库的数据的存放目录
10 datadir=C:\Program Files\mysql-5.7.13-winx64\data
11 # 允许最大连接数
12 max_connections=200
13 # 服务端使用的字符集默认为8比特编码的latin1字符集
14 character-set-server=utf8
15 # 创建新表时将使用的默认存储引擎
16 default-storage-engine=INNODB
然后,启动命令行,输入如下命令:
C:Windows\system32>mysqld --romve //删除mysql服务
2 C:Windows\system32>mysqld --install //安装mysql服务
3 C:Windows\system32>mysqld --initialize //一定要初始化
4 C:Windows\system32>net start mysql
结束,问题解决。
下面,解决安装完成后密码错误或者平时忘记密码问题。
一。停止服务
C:Windows\system32>net stop mysql
二。在安装目录bin目录下,输入下面的命令
D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64>mysqld --console --skip-grant-tables
这个命令代表不验证身份,直接连接数据库,会看到打印一些东西,不用管它,也不需要关闭,以管理员身份重新开一个命令窗口。
输入下面命令:
mysql -uroot -p 然后回车
这个时候会让你输入密码,直接回车,进入系统。
然后分别输入下面命令:
use mysql;
update user set authentication_string=password("123456") where user="root";
代表切换到mysql数据库,然后更新root用户名的密码为123456。
然后运行flush privileges这个命令刷新数据库
重启一下数据服务
启动服务:
net start MySQL
停止服务:
net stop MySQL
启动成功之后,然后再mysql -uroot -p 回车之后,要求输入密码,输入123456 然后回车就进去到SQL的命令行模式了
这个时候如果执行一条sql语句或者输入show database就会出现错误,如下:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
然后我们直接在mysql命令行模式下直接输入命令:SET PASSWORD = PASSWORD(‘123456’);
会出现报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这次我们需要退出MySQL,将配置文件my.ini中添加的skip-grant-tables 这行删去
重启mysql服务
启动服务:
net start MySQL
停止服务:
net stop MySQL
再次执行SET PASSWORD = PASSWORD(‘123456’)
然后sql语句就可以正常执行了
最后修改root密码永不过期
命令是:
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
原文:https://blog.csdn.net/weixin_41863493/article/details/79945584