win mysql8.0.20安装

转载: https://www.cnblogs.com/ccav1/p/12149889.html

记得备份之间的数据库,不然很难受!

1.如果之前有安装先停止服务

然后用管理员访问cmd命令窗口执行移除服务

mysqld -remove

2.把下载好的mysql.zip压缩包减压至指定位置: D:/Program Files/mysql

在mysql目录下创建my.ini文件输入一下配置:

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

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

保存好配置文件;后面的步骤基本和5.7一致

在环境变量里设置D:Program Filesmysqlin

3.将mysql注册为Windows系统服务
3.1 使用管路员权限打开CMD(注意管理员权限)
 3.2 运行服务安装命令
   mysqld install MySQL --defaults-file="D:/Program Files/mysql/my.ini"

   安装成功后会提示安装成功
   备注: 如果想要移除该服务,使用命令:mysqld -remove
如果丢失 msvcr120.dll 则安装 vcredist_x64.exe

4.启动mysql服务
注意:此时是无法正常启动mysql服务的,因为5.7.18版本是不附带data文件夹的,需要通过命令来创建data文件夹和默认的数据库
4.1 创建命令
mysqld --initialize-insecure --user=mysql --console

这里注意查看出现的日志:

 ps: 网上其他大佬的会出现随机密码: 执行成功后会输出: A temporary password is generated for root@localhost: a13213s1

a13213s1就是默认密码

我执行出现的是empty password,不需要输入密码,猜测是执行顺序有关
4.2 启动服务命令为
net start mysql

5.cmd 登录修改默认密码

执行: mysql -uroot -p

有密码就输入默认密码,没有密码就直接回车

密码修改命令:

ALTER USER root@localhost IDENTIFIED  BY 'root';

6.IDEA相关工具访问mysql8.x记得设置时区

set global time_zone = '+8:00';

或者在连接配置设置Hongkong

 JAVA程序使用报错:

[42000][1055] Expression #9 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'cc.contract_no' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

解决办法:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 放到了[mysql]标签上面一行,重启了服务,成了!!

原文地址:https://www.cnblogs.com/yxgmagic/p/13870190.html