一、安装mysql8.0.32
我先安装的是mysql5.5,如:MySQL5.5安装教程+SQLyog安装_柒七的博客-CSDN博客_mysql5.5的安装步骤
1.下载解压
https://dev.mysql.com/downloads/mysql/
2.创建配置
下载完后,建议解压到一个没有中文的路径,在解压目录创建my.ini配置文件
# 这些是基本配置信息
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8[mysqld]
# 设置3306端口,我5.5版本用3306了,这用3307
port = 3307
# 设置mysql的安装目录
basedir=D:\MySQL8.0\mysql-8.0.26-winx64
# 设置 mysql数据库的数据的存放目录
datadir=D:\MySQL8.0\mysql-8.0.26-winx64\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3.初始化MySQL
管理员CMD进入解压后的bin目录,输入
mysqld --defaults-file=D:\develop\mysql-8.0.32-winx64\my.ini --initialize --console
一定管理员 && 绝对路径
4.安装MySQL服务
mysqld install mysql8.0.32 --defaults-file=D:\develop\mysql-8.0.32-winx64\my.ini
不输入服务名,默认为mysql
查看一下路径不对。注册表改一下
win+R键,输入regedit打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql8.0.32,修改ImagePath的数值数据。
5.登录MySQL
先启动服务
登录指定端口,因3306被5.7版本用了 mysql -uroot -p -P3307
修改密码,刚才生成的是临时密码,得改。
# 修改本地登陆
# 修改密码过期规则----》永不过期
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
# 更新用户的密码修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;
# 重置密码(==非必须==)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 修改远程登陆
# 修改密码过期规则----》永不过期
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
# 更新用户的密码修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;
# 重置密码(==非必须==)
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
到此就安装完成了。
二、解决密码忘记
方法一:
第一步:关闭Mysql服务
首先先停止mysql服务。可通过net stop mysql
或者任务管理器中关闭。
以管理员权限操作:(这是第一个窗口
)
第二步:跳过Mysql密码验证
进入命令提示符(管理员登陆)操作,进入mysql目录中bin文件夹下,mysql8.0与其他版本不同的地方在于无法直接使用mysqld --skip-grant-tables来跳过密码登录。在这我们使用 mysqld -console --skip-grant-tables --shared-memory
来跳过权限验证。
输入执行后没有反馈,新开一个管理员窗口重新执行。(这是第二个窗口
)
进入目录后,确保自己已经关闭了Mysql的服务:net stop mysql
关闭Mysql服务之后,继续在D:\mysql-8.0.19-winx64\bin目录下进行操作:
输入
mysqld --console --skip-grant-tables --shared-memory
在输入这行代码之后,如下显示,我们就已经成功跳过Mysql的密码登录了:
第三步:无密码方式进入Mysql
在上述步骤之后,再打开一个管理员模式运行的cmd.exe (这是第三个窗口
)
进入mysql下的bin目录后,直接登录mysql
不需要通过net start mysql
打开mysql服务
在命令行中输入以下代码
d:
cd D:\mysql-8.0.19-winx64\bin(此处输入自己电脑上的安装目录)
mysql -u root -p
如图:
此时会显示让你输入密码,直接回车,就可以成功连接Mysql。
第四步:将登陆密码设置为空
输入代码,将密码设置为空(此时还不能直接修改密码,必须先设置为空,否则会报错)
输入:
use mysql; (使用mysql数据表)
update user set authentication_string='' where user='root';(将密码置为空)
quit; (然后退出Mysql)
操作如图:
第五步:更改自己的登陆密码
这里分为两个部分
1.关闭前两个cmd窗口(一定要关闭!);
2.在第三个窗口中输入代码;
net stop mysql(关闭mysql服务,虽然会显示没有开启服务,但是以防万一)
net start mysql(再打开mysql服务)
(这里不要嫌麻烦,如果上一个mysql服务没关闭,我们依旧是无密码登陆
)
操作如图:
接着输入:
cd D:\mysql-8.0.19-winx64\bin (此处输入自己电脑上的安装目录)
mysql -u root -p
(此处会显示输入密码,直接回车就好了,第四步我们已经将他置为空了)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';(更改密码)
如图:
最后一步:验证密码是否修改成功
输入:
quit(退出mysql)
mysql -u root -p
(输入新密码,再次登录)
图示:
成功!
方法二:
修改my.in/my.cnf配置文件
进入mysql安装目录
编辑my.ini
在[mysqld]下添加skip-grant-tables,保存即可。
使用管理员身份打开命令行
①重启mysql:
1、net stop mysql 2、net start mysql
②进入mysql,登录
mysql -u root -p
不用输入密码,直接回车(出现Enter Password 也一样直接回车,即可登陆成功)③输入use mysql,修改root的密码:
update user set authentication_string=password(‘新密码’) where user=‘root’;
flush privileges;④退出:
quit;
⑤再次重启mysql:
1、net stop mysql 2、net start mysql
⑥测试是否成功就是是否登陆成功咯。
mysql -u root -pEnter Password>‘新密码’
三、卸载
1.停止服务
管理员CMD,输入net stop mysql
,我开了两个服务,所以net stop mysql2
选择想删掉的版本就OK了
2.卸载服务
我选择删第二个
3.删除安装文件
安装目录和数据目录,都删。
4.删除注册表信息
注册表路径
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\