说明:本文已 mysql 5.7 zip 版本为例( 8.0 zip 版本安装步骤也与本文一致)
一、下载软件:
mysql 官方下载地址: https://dev.mysql.com/downloads/mysql/
本文使用 mysql 版本下载地址: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.32-winx64.zip
二、准备工作:
官网下载下来的解压包里面少了 my.ini 配置文件和 data 文件夹需要自己新增
my.ini 配置文件内容如下:
[mysql]
# 设置3306端口(表示 MySQL 客户端连接服务器端时使用的端口号,默认的端口号为 3306)
port=3306
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口(表示 MySQL 服务器的端口号)
port = 3306
# 设置mysql的安装目录(以实际位置为准)
basedir=D:\\java\\mysql-5.7.32-winx64
# 设置mysql数据库的数据的存放目录(以实际位置为准)
datadir=D:\\java\\mysql-5.7.32-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
说明:basedir 和 datadir 路径以实际位置为准,并且必须使用 \\ 或者 / 分隔,使用 \ 分隔在执行mysqld --initialize命令时将会报错
三、初始化
3.1 使用 管理员 的身份运行控制台,并进入 mysql安装路径\bin 下
3.2 初始化并打印日志
mysqld --initialize --console
注意控制台会打印出 [Note] A temporary password is generated for root@localhost: BrdqlqdLr4-Q,其中 root@localhost: 后面的是数据库的初始密码,保存好!!!!
3.3 安装
mysqld install
3.4 启动mysql
net start mysql
四、 修改密码
登录 mysql (密码为前面打印出来的初始密码)
mysql -u root -p
修改密码
alter user user() identified by "123456";
五、修改 root 用户访问权限
选择数据库,并查看当前 root 用户的相关信息
use mysql;
select host, user, authentication_string, plugin from user;
可以看到 root 用户仅允许本机访问
修改 root 用户访问权限为所有人
update user set host='%' where user ='root';
更新权限
flush privileges;
select host, user, authentication_string, plugin from user;
六、 解决 gruop by 兼容问题
mysql 新版本默认是开启 only_full_group_by 模式,模式开启后原先的 gruop by 语句就会报错
查询 mysql 开启的模式
SELECT @@GLOBAL.sql_mode;
可以看到 only_full_group_by 就在其中
将sql_mode 值复制出来,去掉only_full_group_by 后,写入 my.ini 配置文件 mysqld 中
[mysql]
# 设置3306端口(表示 MySQL 客户端连接服务器端时使用的端口号,默认的端口号为 3306)
port=3306
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口(表示 MySQL 服务器的端口号)
port = 3306
# 设置mysql的安装目录(以实际位置为准)
basedir=D:\\java\\mysql-5.7.32-winx64
# 设置mysql数据库的数据的存放目录(以实际位置为准)
datadir=D:\\java\\mysql-5.7.32-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
退出mysql 并重启 mysql
exit
net stop mysql
net start mysql
七*、数据库存放路径修改
修改 basedir 和 datadir 为新的路径
运行输入 regedit 打开注册表,
找到 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL 目录,
修改 ImagePath 的值为新路径