windows10安装mysql-8.0.13(zip安装)
安装环境说明
系统版本:windows10
mysql版本:mysql-8.0.13-winx64.zip
下载地址:http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-winx64.zip
解压安装包
解压路径:D:\develop\software
解压后mysql根目录把该文件夹拷贝到要放的路径下:F:\mysql-8.0.13
原则: 安装目录不能有空格、不能有中文
配置文件
my.ini文件拷贝到mysql根目录F:\mysql-8.0.13,文件路径为:F:\mysql-8.0.13\my.ini
my.ini内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\\mysql-8.0.13
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\mysql-8.0.13\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
注意:不需要设置data目录,自动生成,否则报错!双斜杠!!!!!!
初始化mysql
进入命令行cmd:
进入F:\mysql-8.0.13\bin
执行 mysqld --initialize --console
注意:管理员权限运行cmd程序,否则可能报错
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: *******
自动成临时密码:【******】
F:\mysql-8.0.13\bin\mysqld.exe (mysqld 8.0.13) initializing of server has completed
初始化完成提示。
注册mysql服务
mysqld install
启动mysql
net start mysql
登录mysql
mysql -uroot -p
注意:输入上面生成的临时密码 【*****】
修改密码并且修改密码策略
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
注意:mysql8新的密码策略,很多mysql客户端工具不支持,所以用原来的密码策略。
完成。
bug1.执行命令 >mysqld --initialize --console
mysqld: Can’t create directory ‘C:\web\mysql-8.0.11\data’ (OS errno 2 - No such file or directory)
修改my.ini中basedir路径
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\\mysql-8.0.13
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\mysql-8.0.13\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
修改完my.ini保存,重新运行命令
mysqld --initialize --console
mysqld --install
启动mysql 服务
net start MySQL
F:\mysql-8.0.13\bin>mysql -uroot -p
输入密码即可
bug2.mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改密码:
alter user 'root'@'localhost' identified by '123456';
flush privileges;
创建一个用户
create user 'test'@'localhost'identified by '1234';
授权,把test的数据库部分**权限给用户test
grant select,insert,update,delete,create,drop,alter on test.* to test@localhost;
flush privileges;
查看 mysql 的端口号
show variables like ‘port’