一、安裝
1:首先去官網下載安裝包
下載地址:https://dev.mysql.com/downloads/mysql/ysql.com/downloads/mysql/
2:將解壓文件解壓
將文件解壓到磁盤,目錄不要中文,防止亂碼
3:創建mysql配置文件
在mysql-8.0.17-winx64文件夾下面新建一個my.ini文件和一個data文件夾
例如:F:\develop\mysql-8.0.17-winx64\my.ini
my.ini文件內容:
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=F:\\develop\\mysql-8.0.17-winx64
# 設置mysql數據庫的數據的存放目錄
datadir=F:\\develop\\mysql-8.0.17-winx64\\data
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集默認爲UTF8
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8
4.配置環境變量
1)新增MYSQL_HOME環境變量
例如:MYSQL_HOME=F:\develop\mysql-8.0.17-winx64
2) 在path中添加%MYSQL_HOME%\bin
在dos窗口執行 mysqld --version 正常顯示版本號爲配置成功
5.初始化mysql數據庫
- dos窗口執行:mysqld --initialize --user=mysql --console
初始化成功會有root的初始密碼,後續初始化登錄需要用到;--密碼前面有個空格,注意忽略
- 安裝mysql到系統服務
安裝服務:mysqld install
啓動服務:net start mysql
F:\develop\mysql-8.0.17-winx64\bin>mysqld install
Service successfully installed.
F:\develop\mysql-8.0.17-winx64\bin>
F:\develop\mysql-8.0.17-winx64\bin>net start mysql
MySQL 服務正在啓動 ..
MySQL 服務已經啓動成功。
二、登錄和使用
1.登錄mysql,並修改root用戶密碼
- dos窗口登錄:mysql -uroot -p默認密碼
- 修改root用戶密碼策略:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘admin123’;
mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password, 解決問題方法有兩種,升級navicat驅動,或修改mysql用戶登錄密碼加密規則爲mysql_native_password.
- 不修改可能導致dos正常登錄,工具登錄不了,錯誤號:1251
- 修改root用戶密碼: ALTER USER root@localhost IDENTIFIED BY ‘admin123’ PASSWORD EXPIRE NEVER;
- 刷新權限:FLUSH PRIVILEGES;
F:\develop\mysql-8.0.17-winx64\bin>mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.17
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> ALTER USER root@localhost IDENTIFIED BY 'admin123';
Query OK, 0 rows affected (0.05 sec)
mysql>
2.允許其他機器訪問數據
查看權限:SELECT Host
,User
FROM user;
更新權限:UPDATE user SET Host
= ‘%’ WHERE User
= ‘root’ LIMIT 1;
刷新權限:FLUSH PRIVILEGES;
三、其他
1. 忘記root密碼重置
- 先關掉已啓動的mysql服務,管理員權限的cmd下,命令:net stop mysql
- 啓動不校驗密碼的mysql服務,命令:mysqld --console --skip-grant-tables --shared-memory
- 重新開1個cmd窗口,輸入:mysql -u root -p,回車,默認進入mysql命令行
- 修改root用戶密碼: ALTER USER root@localhost IDENTIFIED BY ‘admin123’ PASSWORD EXPIRE NEVER;
- 刷新權限:FLUSH PRIVILEGES;
2.mysql創建用戶
CREATE USER ‘chengDB’@’%‘IDENTIFIED BY ‘chengPwd’;
GRANT ALLON . TO ‘chengDB’@’%’ WITH GRANT OPTION;
Flush privileges;