分享Windows环境下MYSQL安装过程中出现的一些问题及总结

一、MYSQL8静默安装方法
(1)新建my.ini配置文件
[client]
default-character-set=utf8mb4
[mysqld]

设置3306端口

port = 3306

设置mysql的安装目录

basedir= E:\mysql-8.0.22-winx64

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

datadir= E:\mysql-8.0.22-winx64\data

允许最大连接数

max_connections=20

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

character-set-server=utf8mb4

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

default-storage-engine=INNODB

(2)执行命令:
mysqld --initialize --console
(记下密码)
mysqld install
net start mysql
mysql -u root -p

解决Windows下MySQL8.0安装后无法启动问题:
1、删除注册表中相关mysql目录
<1>开始--》运行中输入regedit进入注册表
<2>删除HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications下的MySQL目录
<3>删除HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications下的MySQL目录
<4>删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications下的MySQL目录
<5>可以编辑--》查找搜索一下mysql相关配置数据
2、删除自己创建的my.ini文件,创建 my.ini 文件安装一直失败;最后没有创建 my.ini 文件安装成功。
3、删除已创建的服务名称,执行命令:mysqld --remove mysql
4、管理员命令运行CMD命令行,进入mysql安装包的bin目录
5、执行命令 mysqld --initialize --console(自动生成data 文件夹,且生成临时密码,记住临时密码)
6、执行命令 mysqld --install (提示 安装成功)
7、执行命令 net start mysql
8、mysql 服务启动后,执行命令 mysql -u root -p 登录mysql ,输入步骤 4 生成的临时密码,即可登录成功

二、MYSQL8之前版本的静默安装方法(如MYSQL-5.7.20)
前提:配置环境变量,如:MYSQL_HOME=D:\mysql-5.7.20-winx64
(1) 创建my.ini文件(D:\mysql-5.7.20-winx64\bin)
[client]
default-character-set=utf8
[mysqld]

解压目录

basedir = %MYSQL_HOME%

解压目录

datadir = %MYSQL_HOME%\data
port = 3306
default-character-set=utf8
skip-name-resolve
skip-grant-tables
(2)以管理员身份执行命令
mysqld --initialize-insecure
mysqld -install
(3)启动mysql服务,建立连接
(4)修改字符集
mysql> show variables like 'character_set%';
(5)更改用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
(6)MySql 只能通过localhost 和 127.0.0.1访问 不能通过其他IP访问
mysql> grant all privileges on . to root@'%' identified by 'root';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

重新启动mysql
启动:net stop mysql
停止:net start mysql

三、安装过程中遇到的问题及解决办法

  1. 错误代码10055

错误原因:Win32 error code 10055: 由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作。
D:\Software\mysql-5.7.20-winx64\bin>mysql -uroot -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10055)
解决办法:修改或添加注册表
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters
新建DWORD值,如:
数值名称:MaxUserPort
数值类型:DWORD
数值:65534(选:十进制)

  1. 错误代码10061

D:\Software\mysql-5.7.20-winx64\bin>mysql -uroot -h127.0.0.1 -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (10061)
解决办法:
第一,删除安装时的配置文件my.ini,如:D:\Software\mysql-5.7.20-winx64\bin\my.ini;
第二,执行安装服务命令,如:D:\Software\mysql-5.7.20-winx64\bin>mysqld -nt -install;
第三,启动MYSQL,如:D:\Software\mysql-5.7.20-winx64\bin>net start MySQL
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

  1. TIMESTAMP with implicit DEFAULT value is deprecated

解决办法:
第一,在my.ini 新增explicit_defaults_for_timestamp=true配置;
第二,重装时要删除之前已有的data文件夹;

  1. Cause: java.sql.SQLSyntaxErrorException: which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

解决办法:
mysql> use test;
mysql> show variables like '%sql_mode';
mysql> set sql_mode=(select replace(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
mysql> select @@global.sql_mode;
mysql> set @@global.sql_mode=(select replace(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

  1. windows环境,本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。

解决办法:修改my.ini文件,编辑器文件编码默认改成了utf-8,将文件编码改成ANCII就可以启动。

上一篇:记一次redis cluster delete node失败


下一篇:怀疑自己的笔记本电脑可能受到了网络攻击被人监视或操控