mysql-8.0.12-winx64 安装教程

mysql-8.0.12-winx64 安装教程

我们发现解压后的目录并没有my.ini文件,没关系可以自行创建。在安装根目录下添加 my.ini,比如我这里是:E:\mysql-8.0.12-winx64\my.ini,写入基本配置:

 

[mysqld]

# 设置3306端口

port=3306

# 设置mysql的安装目录

basedir=C:\Program Files\MySQL

# 设置mysql数据库的数据的存放目录

datadir=E:\database\MySQL\Data

# 允许最大连接数

max_connections=200

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

# 服务端使用的字符集默认为UTF8

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8

 

以管理员的身份打开cmd窗口跳转路径到c:\mysql-8.0.12-winx64\bin>

1.首先完成初始化操作:c:\mysql-8.0.12-winx64\bin> mysqld --initialize --console

注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E 其中root@localhost:后面的“rI5rvf5x5G,E”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。

  要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 data 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。

2.c:\mysql-8.0.12-winx64\bin>mysqld -install

3.c:\mysql-8.0.12-winx64\bin>net start MySQL

接下来,最关键的部分:使用初始密码登录数据库,然后立刻修改密码!

4.c:\mysql-8.0.12-winx64\bin>mysql -u root -p

 

Enter password:  此处密码为第一步初始化话生成的密码

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 8.0.12 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

输入你需要修改的密码:

5. mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

 

Query OK, 0 rows affected (0.03 sec)

mysql> quit

Bye

 

1. MySQL8.0.12不能连接Navicat

原因:MySQL8.0与MySQL5.0所采用的加密方式规则不一样,所以导致 Navicat打不开。可通过select host, user, authentication_string, plugin from user;查看密码的规则。

 

如上图,plugin这一列就是对应用户的加密规则,可以看到我的root用户的加密规则是:mysql_native_password,这是因为我已经设置过了,默认的是:caching_sha2_password,所以我们只需要将默认的caching_sha2_password改为mysql_native_password即可。

解决方案:输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';即可修改root用户的加密规则以及密码。

2. 授权出错,显示You are not allowed to create a user with GRANT

原因:在网上有很多教程说当出现The user specified as a definer ('root'@'%') does not exist时表示root用户权限不足,只需要执行GRANT ALL ON *.* TO 'root'@'%';就可以了,但是往往又会出现You are not allowed to create a user with GRANT的错误提示。这是因为GRANT ALL ON *.* TO 'root'@'%';这条语句中@'%'中的百分号其实是root用户对应host的名称,很多人并没有注意到他的root用户对应的其实是localhost,直接就执行了上面的语句,所以才会报错。

解决方案:只要将GRANT ALL ON *.* TO 'root'@'%';中的%改为对应的host名称即可,最后还要刷新一下权限FLUSH PRIVILEGES; 。

特别说明:网上说%表示通配所有的host,但是操作时并不成功,不明白是为什么,我猜想可能与MySQL8.0版本有关系。

 

  1. 第二种:可能会由于MySQL版本的问题,8.0前版本的加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password,导致登录失败。
  2. 如果想默认使用“mysql_native_password”插件认证,可以在配置文件中配置default_authentication_plugin项。

[mysqld]

default_authentication_plugin=mysql_native_password

  1. 5

或者可以在命令行中启动Mysql,修改加密规则。代码如下:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则  

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

FLUSH PRIVILEGES; #刷新权限

 

1. 下载 2. 解压 3. 环境变量Path加 D:\Program Files\mysql-8.0.12-winx64\bin 4. 在文件夹下新建data文件夹,my.ini文件,my.ini内容为 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\Program Files\mysql-8.0.12-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\Program Files\mysql-8.0.12-winx64\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8 5. mysqld --initialize --console,记下密码 MySQL下载安装配置 分区 MySQL下载安装配置 的第 1 页 6. 管理员模式运行cmd到MySQL根目录运行 mysqld --install 7. 管理员模式cmd到根目录运行net start mysql启动服务,net stop mysql停止服务,可创建管理员模式批处理命令(start mysql service.bat)形如 @echo off >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) net start mysql pause
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值