win server2008r2无法启动mysql5.7.27服务2008r2建议使用mysql5.6.45。配置my.ini可以解决mysql输入数据 出现问号‘’乱码的问题一、mysql5.7安装1.1. 下载mysql-5.7.34https://dev.mysql.com/downloads/mysql/1.2. 解压MySQL压缩包并创建data文件夹将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是:E:\mysql-5.7.34-winx64创建data和my.inimy.ini文件ANSI格式[mysqld] #绑定IPv4和3306端口 bind-address 0.0.0.0 port 3306 # 设置mysql的安装目录,即你解压缩安装包的位置 basedirE:\mysql-5.7.34-winx64 # 设置mysql数据库的数据的存放目录 datadirE:\mysql-5.7.34-winx64\data # 允许最大连接数 max_connections2000 #设置字符集为utf8 loose-default-character-set utf8mb4 #之前此处未加导致数据库的默认编码为latin1会存在乱码情况 character-set-server utf8mb4 #BI工具要求 lower_case_table_names1 group_concat_max_len1024000 #开启查询缓存 explicit_defaults_for_timestamptrue sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION [client] #设置客户端字符集 port3306 loose-default-character-set utf8mb4 [WinMySQLadmin] Server E:\mysql-5.7.34-winx64\bin\mysqld.exe1.3. 添加环境变量1变量名MYSQL_HOME 变量值D:\MySQL\mysql-5.7.27-winx642Path中添加 %MYSQL_HOME%\bin1.4. 将mysql注册为windows系统服务(以管理员身份 运行 命令提示符)1从CMD控制台-管理员 进入到MySQL解压目录下的 bin 目录下E:\mysql-5.7.34-winx64\bin2输入服务安装命令mysqld -install如果提示缺失rsvXXXX的安装Download Visual C Redistributable Packages for Visual Studio 2013 from Official Microsoft Download Center只需要安装X643执行命令mysqld --initialize-insecure --usermysql# 其他说明移除服务命令为mysqld remove MySQL4 重启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 --initialize1.5. 修改 root 账号的密码刚安装完成时root账号默认密码为空此时可以将密码修改为指定的密码。如rootC:\E:E:\cd mysql-5.7.34-winx64E:\MySQL\mysql-5.7.34-winx64mysql -uroot -p直接回车mysql show databases;--------------------| Database |--------------------| information_schema || mysql || performance_schema || test |--------------------4 rows in set (0.01 sec)mysqluse mysql;Database changedmysqldelete from user where user;Query OK, 1 row affected (0.00 sec)mysqlupdate mysql.user set authentication_stringpassword(这里是你的密码) where userroot ;Query OK, 3 rows affected (0.00 sec)Rows matched: 3 Changed: 3 Warnings: 0mysqlupdate usersethost%where userrootand hostlocalhost;mysqlGRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY 这里是你的密码 WITH GRANT OPTION;mysqlFLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)mysqlQUIT;ByeC:\Java\mysql\binmysql -uroot -pEnter password: rootWelcome to the MySQL monitor. Commands end with;1.6 windows防火墙(其他人连接的话)把windows入站规则加入3306端口1.7. 其他问题授权问题I.如果想远程连接登录mysql则需要授权并关闭防火墙。1.授权在服务端进入mysql,输入以下命令GRANTALLPRIVILEGESON*.*TOroot% IDENTIFIEDBY这里是你的密码WITHGRANTOPTION;这句的作用是将所有的用户名,都设置能远程访问该mysql中所有的表,如果不想都放开,可以根据这个规则,来设置.grant 权限1,权限2,…权限n on 数据库名.表名 to用户名用户地址 identified by‘口令’.-----------------------------------------------------------------------------------------------------------------------------二、安装第二个mysql82.1关闭 mysql5.7 和 mysql8 的服务2.2 卸载之前的mysql8没有的请忽略#使用 管理员--命令行 进入E:\mysql-8.4.9-winx64\bin mysqld remove MySQL82.3 环境变量新建 MYSQL8_HOMEPath添加%MYSQL8_HOME%\bin2.4 下载并创建data和my.ini文件端口不能与mysql7重复my.ini文件ANSI格式##注意要密码插件为caching_sha2_password[mysqld] # 设置3309端口 port3309 # 设置mysql的安装目录 basedirE:\mysql-8.4.9-winx64 # 设置mysql数据库的数据的存放目录 datadirE:\mysql-8.4.9-winx64\data # 允许最大连接数 max_connections200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors10 # 服务端使用的字符集默认为UTF8 character-set-serverutf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engineINNODB # 默认使用caching_sha2_password 密码插件 [mysql] # 设置mysql客户端默认字符集 default-character-setutf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port3309 default-character-setutf8mb42.5 管理员-CMD命令窗口进入E:\mysql-8.4.9-winx64\bin执行下面两个命令mysqld.exe --defaults-fileE:\mysql-8.4.9-winx64\my.ini --initialize --console mysqld.exe install MySQL8 --defaults-fileE:\mysql-8.4.9-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 rootlocalhost IDENTIFIED BY new password; use mysql;ALTER USER rootlocalhost 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 userroot and hostlocalhost; flush privileges; exit;这样navicat就可以链接了2.9 windows防火墙(其他人连接的话)把windows入站规则加入3309端口2.10 密码插件问题(caching_sha2_password)既然mysql要求用新的(caching_sha2_password)弃用mysql_native_password。我们就响应官方号召。查看插件命令use mysqlshow plugins;查看账号使用的什么密码插件SELECT Host, User,plugin FROM mysql.user;2.11 常见问题1、无法修改账号密码--因为系统默认连接mysql5.72、 mysql8的版本实践支持mysql8.4.9 .官方说mysql8.4不再支持win10但是支持win-server2022。理论上win10对于后续版本也可以正常使用。
win11-MySQL5.7和MySQL8两个版本同时安装配置说明
发布时间:2026/6/3 15:38:15
win server2008r2无法启动mysql5.7.27服务2008r2建议使用mysql5.6.45。配置my.ini可以解决mysql输入数据 出现问号‘’乱码的问题一、mysql5.7安装1.1. 下载mysql-5.7.34https://dev.mysql.com/downloads/mysql/1.2. 解压MySQL压缩包并创建data文件夹将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是:E:\mysql-5.7.34-winx64创建data和my.inimy.ini文件ANSI格式[mysqld] #绑定IPv4和3306端口 bind-address 0.0.0.0 port 3306 # 设置mysql的安装目录,即你解压缩安装包的位置 basedirE:\mysql-5.7.34-winx64 # 设置mysql数据库的数据的存放目录 datadirE:\mysql-5.7.34-winx64\data # 允许最大连接数 max_connections2000 #设置字符集为utf8 loose-default-character-set utf8mb4 #之前此处未加导致数据库的默认编码为latin1会存在乱码情况 character-set-server utf8mb4 #BI工具要求 lower_case_table_names1 group_concat_max_len1024000 #开启查询缓存 explicit_defaults_for_timestamptrue sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION [client] #设置客户端字符集 port3306 loose-default-character-set utf8mb4 [WinMySQLadmin] Server E:\mysql-5.7.34-winx64\bin\mysqld.exe1.3. 添加环境变量1变量名MYSQL_HOME 变量值D:\MySQL\mysql-5.7.27-winx642Path中添加 %MYSQL_HOME%\bin1.4. 将mysql注册为windows系统服务(以管理员身份 运行 命令提示符)1从CMD控制台-管理员 进入到MySQL解压目录下的 bin 目录下E:\mysql-5.7.34-winx64\bin2输入服务安装命令mysqld -install如果提示缺失rsvXXXX的安装Download Visual C Redistributable Packages for Visual Studio 2013 from Official Microsoft Download Center只需要安装X643执行命令mysqld --initialize-insecure --usermysql# 其他说明移除服务命令为mysqld remove MySQL4 重启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 --initialize1.5. 修改 root 账号的密码刚安装完成时root账号默认密码为空此时可以将密码修改为指定的密码。如rootC:\E:E:\cd mysql-5.7.34-winx64E:\MySQL\mysql-5.7.34-winx64mysql -uroot -p直接回车mysql show databases;--------------------| Database |--------------------| information_schema || mysql || performance_schema || test |--------------------4 rows in set (0.01 sec)mysqluse mysql;Database changedmysqldelete from user where user;Query OK, 1 row affected (0.00 sec)mysqlupdate mysql.user set authentication_stringpassword(这里是你的密码) where userroot ;Query OK, 3 rows affected (0.00 sec)Rows matched: 3 Changed: 3 Warnings: 0mysqlupdate usersethost%where userrootand hostlocalhost;mysqlGRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY 这里是你的密码 WITH GRANT OPTION;mysqlFLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)mysqlQUIT;ByeC:\Java\mysql\binmysql -uroot -pEnter password: rootWelcome to the MySQL monitor. Commands end with;1.6 windows防火墙(其他人连接的话)把windows入站规则加入3306端口1.7. 其他问题授权问题I.如果想远程连接登录mysql则需要授权并关闭防火墙。1.授权在服务端进入mysql,输入以下命令GRANTALLPRIVILEGESON*.*TOroot% IDENTIFIEDBY这里是你的密码WITHGRANTOPTION;这句的作用是将所有的用户名,都设置能远程访问该mysql中所有的表,如果不想都放开,可以根据这个规则,来设置.grant 权限1,权限2,…权限n on 数据库名.表名 to用户名用户地址 identified by‘口令’.-----------------------------------------------------------------------------------------------------------------------------二、安装第二个mysql82.1关闭 mysql5.7 和 mysql8 的服务2.2 卸载之前的mysql8没有的请忽略#使用 管理员--命令行 进入E:\mysql-8.4.9-winx64\bin mysqld remove MySQL82.3 环境变量新建 MYSQL8_HOMEPath添加%MYSQL8_HOME%\bin2.4 下载并创建data和my.ini文件端口不能与mysql7重复my.ini文件ANSI格式##注意要密码插件为caching_sha2_password[mysqld] # 设置3309端口 port3309 # 设置mysql的安装目录 basedirE:\mysql-8.4.9-winx64 # 设置mysql数据库的数据的存放目录 datadirE:\mysql-8.4.9-winx64\data # 允许最大连接数 max_connections200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors10 # 服务端使用的字符集默认为UTF8 character-set-serverutf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engineINNODB # 默认使用caching_sha2_password 密码插件 [mysql] # 设置mysql客户端默认字符集 default-character-setutf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port3309 default-character-setutf8mb42.5 管理员-CMD命令窗口进入E:\mysql-8.4.9-winx64\bin执行下面两个命令mysqld.exe --defaults-fileE:\mysql-8.4.9-winx64\my.ini --initialize --console mysqld.exe install MySQL8 --defaults-fileE:\mysql-8.4.9-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 rootlocalhost IDENTIFIED BY new password; use mysql;ALTER USER rootlocalhost 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 userroot and hostlocalhost; flush privileges; exit;这样navicat就可以链接了2.9 windows防火墙(其他人连接的话)把windows入站规则加入3309端口2.10 密码插件问题(caching_sha2_password)既然mysql要求用新的(caching_sha2_password)弃用mysql_native_password。我们就响应官方号召。查看插件命令use mysqlshow plugins;查看账号使用的什么密码插件SELECT Host, User,plugin FROM mysql.user;2.11 常见问题1、无法修改账号密码--因为系统默认连接mysql5.72、 mysql8的版本实践支持mysql8.4.9 .官方说mysql8.4不再支持win10但是支持win-server2022。理论上win10对于后续版本也可以正常使用。