MySQL 8.0.18安装教程(windows 64位)

先去官网下载点击的MySQL的下载

 https://dev.mysql.com/downloads/mysql/

下载完成后解压 

配置初始化的my.ini文件的文件(MYSQL根目录)
解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根目录下添加的my.ini(新建文本文件,将文件类型改为的.ini),写入基本配置: 

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:Program FilesMySQL
# 设置mysql数据库的数据的存放目录
datadir=C:Program FilesMySQLData
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
配置文件中的路径要和实际存放的路径一致(8.0.18不要手动创建Data文件夹)

初始化MySQL
在安装时,避免出错我们尽量全部使用管理员身份运行CMD,否则在安装时会报错,会导致安装失败的情况

C:WindowsSystem32

右键以管理员身份运行

打开后进入mysql的bin目录

在MySQL目录下的bin目录下执行命令:

mysqld --initialize --console

注意![注意] [MY-010454] [服务器]为root @ localhost生成临时密码:9P0gYk-?0,kT其中root @ localhost:后面的9P0gYk-?0,kT就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。复制密码先保存起来!!!

安装MySQL服务 + 启动MySQL 服务
安装mysql服务

执行下面的命令:

mysqld --install [服务名](服务名可以不加默认为mysql)

成功了!

服务安装成功之后通过命令net start mysql启动MySQL的服务

连接MySQL + 修改密码

新建的MySQL的连接

还记得刚刚让你复制的root @ localhost:后面的初始密码了吗?现在要用到它了复制粘贴上去!

测试一下!

MySQL的是成功安装了也可以登录  

现在就是改密码的时候了

也可以在mysql的bin目录下 进行数据库连接  mysql -u root -p

再输入密码   回车

有了mysql> 这个的时候  你就可以去改密码了!

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
密码修改成功后 

exit;(退出mysql)

------------------------------------------------------------------------------------

MySQL8.0允许外部访问

来源:https://blog.csdn.net/h996666/article/details/80921913

修改配置:

1,登进MySQL之后,

2,输入以下语句,进入mysql库:

use mysql

3,更新域属性,'%'表示允许外部访问:

update user set host='%' where user ='root';

4,执行以上语句之后再执行:

FLUSH PRIVILEGES;

5,再执行授权语句:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

然后外部就可以通过账户密码访问了。

6,其它说明:

FLUSH PRIVILEGES; 命令本质上的作用是:

将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。

MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。

通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。

而不必冒太大风险。

三、可能存在的其它问题:

执行完之后,再用Navicat连接mysql,报错如下:

Client does not support authentication protocol requested by server;

报错原因:

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持;

Navicat 12以下客户端支持的是mysql_native_password 这种加密方式;

解决方案:

1,用如下语句查看MySQL当前加密方式

select host,user,plugin from user;

查询结果

+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | caching_sha2_password |
| localhost | mysql.infoschema | mysql_native_password |
| localhost | mysql.session | mysql_native_password |
| localhost | mysql.sys | mysql_native_password |
+-----------+------------------+-----------------------+
看第一行,root加密方式为caching_sha2_password。 2,使用命令将他修改成mysql_native_password加密模式: update user set plugin='mysql_native_password' where user='root'; 再次连接的时候,就成功了。 四、如果还连接不上 通过以上操作后,依然无法连接上,问题可能出在了防火墙上。 1,MySQL部署在实体服务器上解决方案如下: a.开放MySQL的端口号,默认端口号是3306。 b.直接关闭防火墙(慎重操作,不建议。当然测试玩的话就随意了。。。。) 2,MySQL部署在云计算机上的方案如下: a.以阿里云为例,找到实例,设置安全组,开放端口号即可。
原文地址:https://www.cnblogs.com/zouhao/p/12119180.html