MySql 8.0安装教程及授权远程访问

目录

  • 〇、MySql下载
  • 一、部署步骤
    • 1.解压文件
    • 2.写基本配置
    • 3.将MySql的安装路径配置环境变量
    • 4.初始化数据库
    • 5.安装MySql服务
    • 6.启动服务
  • 二、授权远程访问
    • 1.登陆MySql并修改原始密码
    • 2.设置root远程访问
    • 3.设置其他用户远程访问
    • 4.Navicat 连接MySQL 8.0.11 出现2059错误
  • 总结


〇、MySql下载

从官方下载MySql,如下图所示:

MySql 8.0安装教程及授权远程访问_第1张图片

提示:下载完成后是免安装,直接部署的文件包。


一、部署步骤

1.解压文件

建议解压到除c盘以外的盘,因为c盘会有权限问题。

2.写基本配置

如果不需要可以不新建配置文件,mysql会使用默认的配置。
解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根目录下添加的my.ini(新建文本文件,将文件类型改为的.ini),写入基本配置:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\Data
# 允许最大连接数
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

3.将MySql的安装路径配置环境变量

为了方便使用mysql命令,可以将mysql的bin路径配置到环境变量中:
MySql 8.0安装教程及授权远程访问_第2张图片
注:如果不配置环境变量,也可以cd到bin目录进行下面的步骤。
MySql 8.0安装教程及授权远程访问_第3张图片

4.初始化数据库

输入 mysqld --initialize --console ,新建数据库的data空间,如下图所示:

MySql 8.0安装教程及授权远程访问_第4张图片
如果出现以下问题,安装一下微软的运行环境就可以了。

MySql 8.0安装教程及授权远程访问_第5张图片

可以官方下载,也可以从CSDN资源下载。

下载完成后,安装运行即可。

5.安装MySql服务

安装MySQL服务,输入 mysqld --install [服务名](服务名可以不加默认为mysql) ,如下图所示:

在这里插入图片描述
如果需要移除服务,输入:mysqld --remove。

6.启动服务

服务安装成功之后输入 net start mysql(启动MySQL的服务) ,如下图所示:
在这里插入图片描述
如果遇到如下问题:
在这里插入图片描述
1.首先打开注册表

win+r打开运行,输入regedit,打开注册表

2.更改注册表:
找到
HKEY_LOCAL_MACHINE --> SYSTEM --> CurrentControlSet --> services --> mysql(服务名)

–> ImagePath

更改为:“文件包目录\bin\mysqld” --defaults-file=“C:\Program Files\MySQL\my.ini” mysql

有两个在C盘的路径,如果你的mysql不是那个,千万要改成你安装的路径,比如我的 “C:\wamp\bin\mysql\mysql5.6.17\bin\mysqld” --defaults-file=“C:\wamp\bin\mysql\mysql5.6.17\my.ini” mysql

二、授权远程访问

1.登陆MySql并修改原始密码

登陆:

mysql -uroot -p

MySql 8.0安装教程及授权远程访问_第6张图片
修改密码:

ALTER USER "root"@"localhost" IDENTIFIED  BY "你的新密码";

2.设置root远程访问

设置远程访问:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;

这里允许root用户远程的时候,如果出现如下的错误,就先去把root用的host改成%,再运行上面那句话。或者直接新建其他用户访问。
在这里插入图片描述

3.设置其他用户远程访问

#切换数据库
use mysql;

#创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)
CREATE USER 'user1'@'%' IDENTIFIED BY '123456';

#授权,默认创建的用户权限是usage,就是无权限,只能登录而已,(all:所有权限,这里有select,update等等权限,可以去搜一下;后面的*.*:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)grant all on *.* to 'user1'@'%';
#注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

4.Navicat 连接MySQL 8.0.11 出现2059错误

MySql 8.0安装教程及授权远程访问_第7张图片
原因是:

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password


更改加密规则:
mysql -uroot -ppassword #登录

use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户密码

FLUSH PRIVILEGES; #刷新权限

总结

然后就可以Navicat 远程访问了。

你可能感兴趣的:(mysql,数据库,dba)