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’