一、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
三、安装过程中遇到的问题及解决办法
- 错误代码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(选:十进制)
- 错误代码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 服务已经启动成功。
- TIMESTAMP with implicit DEFAULT value is deprecated
解决办法:
第一,在my.ini 新增explicit_defaults_for_timestamp=true配置;
第二,重装时要删除之前已有的data文件夹;
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',''));
- windows环境,本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。
解决办法:修改my.ini文件,编辑器文件编码默认改成了utf-8,将文件编码改成ANCII就可以启动。