大学到工作两年了,安装了很多次mysql,都没有做总结,这次又装了一次,掉了几次坑,哎所以写个文章记录下
先说彻底卸载mysql
1.首先删除本地的mysql安装文件
2.删除下面几个文件下带有mysql的文件,ProgramData下的mysql文件有的话就删除
3.去除注册表中的信息,路径如下
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL
好,这样就彻底删除了
下面我们就下载mysql,我用的mysql8.0版本
mysql下载安装如下
可以使用sohu的镜像:http://mirrors.sohu.com/mysql/MySQL-8.0/
或者中科大的镜像:http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/mysql-8.0.16-winx64.zip
1.找到要下的版本,我这里是zip版本直接解压就好了,方便,test版本可能不太稳定
下载后解压,注意解压的目录要求是英文目录且没有空格的
2.把my.ini文件复制到mysql安装目录D:\database\mysql-8.0.11-winx64下,basedir=D:\database\mysql-8.0.11-winx64,datadir=D:\database\mysql-8.0.11-winx64\data对应的也是mysql安装目录
#代码开始
[Client]
#设置3306端口
port = 3306
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\database\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\database\mysql-8.0.11-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
#代码结束
3.然后就进入mysql目录下的bin目录下,输入
mysqld --initialize --user=mysql --console
红圈的就是之后登陆mysql要用的密码
4.输入
mysqld -install,在输入net start mysql,服务启动成功了
5.输入mysql -u root -p后在输入密码区写上之前红圈中标中的密码,注意输入密码前要到外面输入下看是否是英文的,要不然怎么输入都输入不对,这个搞了我好久贼烦。
登陆之后修改密码输入ALTER USER root@localhost IDENTIFIED BY '123456z#a';这个123456z#a就是你的密码了
好了,安装成功。
但是后来测试本地连接时候出现错误2059,报错原因是caching_sha2_password不能加载。
这是因为8.0之后mysql更改了密码的加密规则,而目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式
4、修改加密规则
alter user root@localhost identified by 'password' password expire never;
5、更新密码
alter user root@localhost identified with mysql_native_password by '123456z#a';
6、刷新
flush privileges;
这样就可以连接了