来源:https://blog.csdn.net/qq_38264999/article/details/98858903
一、Mysql下载
压缩包下载:https://dev.mysql.com/downloads/mysql/
MSI下载:https://dev.mysql.com/downloads/windows/installer/8.0.html
个人推荐压缩安装,Msi安装如果出现错误,容易安装失败。
二、Mysql安装
2.1、将文件解压到合适的目录下,个人比较喜欢放在D盘,文件夹路径最好纯英文,中文可能出现意想不到的问题。
2.2、配置my.ini文件,只需要配置basedir即可,根据自己解压路径配置。
[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]# 设置3306端口port = 3306# 设置mysql的安装目录basedir=C:\\Mysql\\mysql-8.0.17-winx64# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错# datadir=C:\\Mysql\\mysql-8.0.17-winx64\\data# 允许最大连接数max_connections=20# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB
注意:windows默认新建的是txt文件,需要修改后缀名为 ini。
2.3、以管理员身份打开命令行,将目录切换到你解压文件的bin目录。
2.4、初始化Mysql,Mysql8.0之后自动生成data文件夹。
mysqld --initialize-insecure (建议使用,不设置root密码) //生成的密码在实际连接的时候可能会不小心输入错误或忘记,导致无法连接Mysqlmysqld --initialize --console(不建议使用,在控制台生成一个随机的root密码)
2.5、安装mysql
//安装mysql服务mysqld install mysql //卸载mysql服务sc delete mysql(需要管理员权限) //移除mysql服务(需要停止mysql)mysqld -remove
执行命令成功后一般会出现Service successfully installed
2.6、开启Mysql服务
net start mysql
2.7、登录Mysql
mysql -uroot
2.8、设置(修改)密码
//切换数据库use mysql; //修改root用户的密码为225514,根据需要自己设置alter user 'root'@localhost identified by '225514'; //刷新权限,一般修改密码或授权用户的时候需要使用flush privileges; //推出mysql,两个都可以正常退出数据库 quit exit
注意:Mysql8.0之后修改密码的方式无法使用password函数 !
2.9、重新登录数据库
//回车后,输入正确的密码即可正常mysql -uroot -p
2.10、配置PATH路径,任意位置打开cmd都可以连接Mysql
三、Mysql8.0碰到的坑
3.1、使用Navicate连接数据库可能会出现的问题
连接报错如下Client does not support authentication protocol requested by server,Navicat 12版本之后不会报错。
mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是mysql_native_password 这种加密方式;
查看加密方式:
select host,user,plugin from user;
修改root用户的加密方式:
alter user 'root'@localhost identified with mysql_native_password BY '225514';
注意:一般升级下Navicate的版本即可,不建议修改加密方式。
3.2、加密方式的讲解。
caching_sha2_password as the Preferred Authentication Plugin(caching_sha2_password作为首选身份验证插件)
The caching_sha2_password
and sha256_password
authentication plugins provide more secure password encryption than the mysql_native_password
plugin, andcaching_sha2_password
provides better performance than sha256_password
. Due to these superior security and performance characteristics of caching_sha2_password
, it is as of MySQL 8.0 the preferred authentication plugin, and is also the default authentication plugin rather than mysql_native_password
. This change affects both the server and the libmysqlclient
client library。
翻译:该caching_sha2_password
和 sha256_password
认证插件提供比更安全的密码加密mysql_native_password
插件,并 caching_sha2_password
提供了比更好的性能sha256_password
。由于这些优越的安全性和性能特征 caching_sha2_password
,它是MySQL 8.0的首选认证插件,也是默认的认证插件而不是 mysql_native_password
。此更改会影响服务器和libmysqlclient
客户端库。
官方文档:https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password
3.3、添加外网访问权限
//切换数据库use mysql//更新用户的hostupdate user set host='%' where user='root';//授权grant all privileges on *.* to 'root'@'%' with grant option;//刷新flush privileges;
3.4、创建用户waggag并授远程访问权
创建用户 |
create user 'waggag'@'%' identified by '225514'; |
授予权限 |
GRANT ALL ON *.* TO 'waggag'@'%' WITH GRANT OPTION; |
刷新权限 |
flush privileges; |