win10-MySQL5.7和MySQL8两个压缩版安装配置说明

win server2008r2无法启动mysql5.7.27服务!2008r2建议使用mysql5.6.45。

   配置my.ini可以解决mysql输入数据 出现问号‘?’乱码的问题

一、mysql5.7安装

1.1. 下载mysql-5.7.34

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

1.2. 解压MySQL压缩包并创建data文件夹

将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是:
E:\mysql-5.7.34-winx64

创建data和my.ini

 my.ini文件(ANSI格式

[mysqld]
#绑定IPv4和3306端口
bind-address = 0.0.0.0
port = 3306
# 设置mysql的安装目录,即你解压缩安装包的位置
basedir=E:\mysql-5.7.34-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-5.7.34-winx64\data
# 允许最大连接数
max_connections=2000
#设置字符集为utf8
loose-default-character-set = utf8mb4
#之前此处未加,导致数据库的默认编码为latin1,会存在乱码情况
character-set-server = utf8mb4
#BI工具要求
lower_case_table_names=1
group_concat_max_len=1024000
#开启查询缓存
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[client]
#设置客户端字符集
port=3306
loose-default-character-set = utf8mb4
[WinMySQLadmin]
Server = E:\mysql-5.7.34-winx64\bin\mysqld.exe

1.3. 添加环境变量

1)变量名:MYSQL_HOME 变量值:D:\MySQL\mysql-5.7.27-winx64
2)Path中添加 %MYSQL_HOME%\bin

1.4. 将mysql注册为windows系统服务 (以管理员身份 运行 命令提示符)

1)从CMD控制台-管理员   进入到MySQL解压目录下的 bin 目录下:

E:\mysql-5.7.34-winx64\bin

2)输入服务安装命令:mysqld -install  

(如果提示缺失rsvXXXX的,安装Download Visual C++ Redistributable Packages for Visual Studio 2013 from Official Microsoft Download Center  X86,X64都需要安装)

3)执行命令mysqld --initialize-insecure --user=mysql

     # 其他说明,移除服务命令为:mysqld remove MySQL

4) 重启MySQL服务 (以管理员身份 运行 命令提示符)

启动服务命令为:net start mysql

关闭服务命令为:net stop mysql

若服务无法启动的情况下检查:重启电脑、环境变量、CMD(管理员),my.ini文件,my.ini整体文件编码是否是ANSI。

可以通过mysqld remove  删除服务,然后清空data目录内容,重新来过

    #  其他说明   如果更改my.ini    保留data文件夹,然后删除data文件夹内的文件,命令行工具 D:\mysql-5.7.27-winx64\bin 文件目录下执行 mysqld  --initialize

1.5. 修改 root 账号的密码

刚安装完成时root账号默认密码为空,此时可以将密码修改为指定的密码。如:root

C:\>E:

E:\>cd mysql-5.7.34-winx64

E:\MySQL\mysql-5.7.34-winx64>mysql -uroot -p   直接回车

mysql> show databases;

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)

mysql> use mysql;
Database changed
mysql> delete from user where user='';
Query OK, 1 row affected (0.00 sec)

mysql>update mysql.user set authentication_string=password('这里是你的密码') where user='root' ;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0

mysql> update user set host='%' where user='root' and host='localhost';

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里是你的密码' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> QUIT;
Bye

C:\Java\mysql\bin>mysql -uroot -p
Enter password: root
Welcome to the MySQL monitor. Commands end with;

1.6   windows防火墙(其他人连接的话)

把windows入站规则加入3306端口!

1.7.   其他问题

授权问题

 I.如果想远程连接登录mysql则需要:授权,并关闭防火墙。

   1.授权;在服务端进入mysql,输入以下命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里是你的密码' WITH GRANT OPTION;

    这句的作用是将所有的用户名,都设置能远程访问该mysql中所有的表,如果不想都放开,可以根据这个规则,来设置.grant 权限1,权限2,…权限n on 数据库名.表名 to用户名@用户地址 identified by‘口令’.

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

二、安装第二个mysql8

2.1关闭 mysql5.7 和 mysql8 的服务

2.2   卸载之前的mysql8,没有的请忽略

#使用 管理员--命令行 进入E:\mysql-8.0.39-winx64\bin

mysqld remove MySQL8

2.3 环境变量

 

2.4 下载并创建data和my.ini文件,端口不能与mysql7重复!

  my.ini文件(ANSI格式

  ##注意要密码插件为caching_sha2_password

[mysqld]
# 设置3309端口  
port=3309
# 设置mysql的安装目录
basedir=E:\mysql-8.0.39-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-8.0.39-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 默认使用caching_sha2_password 密码插件

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3309
default-character-set=utf8mb4

 2.5 管理员-CMD命令窗口进入

E:\mysql-8.0.39-winx64\bin

执行下面两个命令

mysqld.exe --defaults-file="E:\mysql-8.0.39-winx64\my.ini" --initialize --console



mysqld.exe install MySQL8 --defaults-file="E:\mysql-8.0.39-winx64\my.ini"

记下密码

2.6、打开注册表,找寻新创建的MySQL8服务

目录:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql8服务名称


将其中ImagePath修改为:当前mysql的真实路径即可

2.7  启动服务 

net start MySQL8


##然后关闭MySQL5.7服务,可以手动关闭服务

net stop MySQL          ##因为影响后续MySQL8的密码修改,正常使用MySQL8后就可以把服务开起来了

 如果无法启动,查看CMD(管理员),my.ini格式是否ANSI,查看注册表。

可以通过mysqld remove  MySQL8  删除服务,然后清空data目录内容,重新来过

2.8  修改密码--

关于密码的插件(caching_sha2_password),请看2.10


#使用命令行连接mysql数据库,必须带端口号如:3309

mysql -u root -P3309 -p   


ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';    

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

 
flush privileges;
 
 
 
use mysql;
 
delete from user where user='';
          提示: Query OK, 1 row affected (0.00 sec)
 
 
 
update user set host='%' where user='root' and host='localhost';
 
 
flush privileges;  
exit;

这样navicat就可以链接了

2.9   windows防火墙(其他人连接的话)

把windows入站规则加入3309端口!

2.10 密码插件问题(caching_sha2_password)

既然mysql要求用新的(caching_sha2_password),弃用 mysql_native_password。我们就响应官方号召。

查看插件命令

use mysql;

show plugins;

查看账号使用的什么密码插件

SELECT Host, User,plugin FROM mysql.user;

2.11 常见问题

1、无法修改账号密码--因为系统默认连接mysql5.7

2、 mysql8的版本

实践支持mysql8.0.39,按理来说也支持mysql8.4.1.

官方说mysql8.4.1不再支持win10,但是支持win-server2022。理论上win10对于后续版本也可以正常使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值