转载: 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
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]标签上面一行,重启了服务,成了!!