MySQL安装 忘记密码

MySQL解压后:

1、以管理员身份运行cmd,切换到MySQL安装目录的bin目录下

2、安装MySQL服务:

mysqld -install mysql3308

其中,mysql3308是可以自己取的名字,在后续安装好后,启动、关闭MySQL等命令中也要使用这个名称,如果不想麻烦,可以直接取名mysql;取名主要是为了不和已经安装了的MySQL产生冲突

3、初始化,执行my.ini文件的配置内容:

mysqld --initialize-insecure --user=mysql

my.ini文件是放在MySQL安装目录下的配置文件:

[mysqld]
#服务端的端口
port=3308
default-time-zone = '+8:00'
#解压根目录
basedir=D:/_Development/mysql/mysql-8.0.28-winx64
#解压根目录/data
datadir=D:/_Development/mysql/mysql-8.0.28-winx64/data
default-storage-engine=INNODB
#SQL模式的参数,通过这个参数可以设置检验SQL语句的严格程度
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

############################################InnoDB参数配置 开始############################################
#索引和数据缓冲区大小,默认128M,一般设置物理内存的60%-70%
innodb_buffer_pool_size = 512M

#缓冲池实例个数,推荐设置4个或8个
innodb_buffer_pool_instances = 8 

#关键参数,0代表大约每秒写入到日志并同步到磁盘,数据库故障会丢失1秒左右事务数据。
#1为每执行一条SQL后写入到日志并同步到磁盘,I/O开销大,执行完SQL要等待日志读写,效率低。
#2代表只把日志写入到系统缓存区,再每秒同步到磁盘,效率很高,如果服务器故障,才会丢失事务数据。
#对数据安全性要求不是很高的推荐设置2,性能高,修改后效果明显。
innodb_flush_log_at_trx_commit=2

#默认是共享表空间,共享表空间idbdata文件不断增大,影响一定的I/O性能。
#推荐开启独立表空间模式,每个表的索引和数据都存在自己独立的表空间中,可以实现单表在不同数据库中移动。
innodb_file_per_table = ON

#日志缓冲区大小,默认8M,由于日志最长每秒钟刷新一次,所以一般不用超过16M
innodb_log_buffer_size = 16M  

############################################InnoDB参数配置 结束############################################

[mysql]
#默认字符类型
default-character-set=utf8mb4


############################################公共参数配置 开始############################################
#0.同时处理最大连接数,推荐设置最大连接数是上限连接数的80%左右
#max_connections=1200
#1.查询排序时缓冲区大小,默认2m,只对order by和group by起作用,可增大此值为16M
#sort_buffer_size = 16M

#2.查询缓存限制,默认1M,只有1M以下查询结果才会被缓存,以免结果数据较大把缓存池覆盖
#query_cache_limit = 10M

#3.查看缓冲区大小,默认1M,用于缓存SELECT查询结果,下一次有同样SELECT查询将直接从缓存池返回结果,可适当成倍增加此值
#query_cache_size = 160M

#4.打开文件数限制,默认1024,如果show global status like 'open_files'查看的值等于或者大于open_files_limit值时,程序会无法连接数据库或卡死
#open_files_limit = 8192
############################################公共参数配置 结束############################################


4、启动MySQL服务

net start mysql3308

5、设置密码

启动MySQL之后,root用户的密码默认为空,需要设置密码

mysqladmin -u root -p -P3308 password 新密码
Enter password: 旧密码

在给MySQL取名为mysql3308之后,设置密码需要加上"-P3308",这里是指my.ini里设置的port端口号是3308,如果端口号设置的不是3308就改成自己设置的端口

因为旧密码默认为空,输入旧密码直接回车即可

6、关闭MySQL

net stop mysql3308

忘记密码:


1.使用管理员权限打开命令提示符,在命令行中输入: net stop mysql

2.待mysql服务停止后,输入: mysqld --shared-memory --skip-grant-tables ,
此时命令提示符窗口处于锁定状态,我们重新以管理员权限打开新的命令提示符窗口。

3.在新的命令提示符窗口输入: mysql -uroot -p 后回车,提示输入密码时直接按回车进入。

4.输入: use mysql; 

5.输入: update user set authentication_string='' where user='root'; ,将
authentication_string置空。
注:在mysql8.0以上版本,
    update mysql.user set password='newpassword' where user='root';
    和
    update mysql.user set password=PASSWORD('newpassword') where User='root'; 
    这两条命令已经不起作用了
 
6.输入: alter user 'root'@'localhost' identified by 'newpassword'; 
  newpassword是要设的新密码。
  
7.如果提示设置成功,则输入: flush privileges; 。完成后Ctrl+Z退出mysql,使用新
密码重新登录即可。
注:此步骤切不可省略!!!

8.如果提示不成功,则关闭两个命令提示符,重新打开一个管理员权限的命令提示符窗口,
输入: mysql -uroot -p 后回车,输入密码时直接按回车进入(因为此时密码已被置空)。

9.重复步骤4,步骤6,步骤7。

10.如果使用Navicat等可视化界面连接数据库时连接不成功的情况,如错误信息:2059。
此时需要更改验证方式,使用命令提示符登录数据库,输入:
 ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
 yourpassword是你想要设置的密码。

11.提示成功后,重复步骤7,再次打开Navicat连接即可。

以上为mysql 8.0版本以上,忘记root密码或使用root密码登录不成功的解决办法!

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值