官網下載地址
https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/
下載完成后,直接解壓,重命名為mysql8
,首先媒楼,安裝前先查詢一下是否有安裝過Mysql蜗巧,輸入如下:
sc query mysql
查看名為mysql的服務乌逐,如有直接卸載,輸入卸載命令
sc delete mysql
刪除該mysql ,然后命令窗口進入到mysql根目錄
下娇掏,創(chuàng)建一個文件my.ini
州刽,內容如下:
[mysqld]
#綁定IPv4空执,如果是0.0.0.0則表示任意IP都可以訪問,也可以指定可以訪問的IP
bind-address=0.0.0.0
# 設置3306端口
port=3306
# 設置mysql的安裝目錄(注意 :如果 \ 初始化找不到目錄穗椅,就改成 / )
basedir=D:/soft/mysql8
# 設置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=D:/soft/mysql8/data
# 回收空閑連接的時間
wait_timeout=86400
# 允許最大連接數(shù)
# max_connections=200
# 允許連接失敗的次數(shù),這是為了防止有人從該主機試圖攻擊數(shù)據(jù)庫系統(tǒng)
max_connect_errors=10
# 數(shù)據(jù)庫 寫入的 數(shù)據(jù)包 最大值
max_allowed_packet = 512M
# 服務端使用的字符集默認為utf8mb4
character-set-server=utf8mb4
# 設置字符集為utf8
loose-default-character-set=utf8
#開啟查詢緩存
explicit_defaults_for_timestamp=true
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
#mysql_native_password
default_authentication_plugin=mysql_native_password
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#關閉binlog
skip-log-bin
#開啟binlog日志
#log-bin=mysql-bin
#binlog-format=Row
#expire_logs_days=7
log-error=error.log
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8mb4
在 MySQL 根目錄下創(chuàng)建 data
目錄
以上完成后辨绊,進入bin
目錄下(注意:必須以管理員身份打開命令窗口
),執(zhí)行
d:\web\mysql8\bin>mysqld --initialize --console
該命令匹表,初始化data门坷,如看到
D:\soft\mysql8\bin>mysqld --initialize --console
2021-04-01T02:19:11.324773Z 0 [System] [MY-013169] [Server] D:\soft\mysql8\bin\mysqld.exe (mysqld 8.0.22) initializing of server in progress as process 13220
2021-04-01T02:19:11.379386Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-04-01T02:19:17.715110Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-04-01T02:19:28.212481Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: A>l0aJkthAQm
即初始化成功,并復制一下初始化密碼袍镀,后面登錄用默蚌,在接著執(zhí)行安裝命令
mysqld -install mysql8
Service successfully installed.
mysql8是服務名稱,出現(xiàn)以上表示安裝成功苇羡,接著執(zhí)行啟動命令绸吸,
d:\web\mysql5.7\bin>net start mysql8
mysql57 服務正在啟動 .
mysql57 服務已經啟動成功。
然后可以在 windows 服務列表中查看到一個名稱為 mysql57 的服務设江,到此安裝完成锦茁,安裝失敗,可以通過命令
mysqld –console
查看錯誤信息
登錄并修改密碼
cmd輸入命令:
mysql -u root -p
輸入剛才復制的初始化密碼叉存,登錄成功進入 mysql码俩,執(zhí)行命令
mysql> use mysql;
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
報錯了,接著執(zhí)行:
#立即生效
mysql> flush privileges;
# 再次執(zhí)行密碼修改命令
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.02 sec)
ok了歼捏,root 賬戶密碼修改成功稿存。如果需要配置 root 用戶遠程登陸,執(zhí)行命令
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
或者執(zhí)行命令:
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
即可瞳秽。
說明:其中"."代表所有資源所有權限瓣履, “'root'@%”其中root代表賬戶名,%代表所有的訪問地址寂诱,也可以使用一個唯一的地址進行替換拂苹,只有一個地址能夠訪問。如果是某個網段的可以使用地址與%結合的方式,如10.0.42.%出爹。IDENTIFIED BY 'root'镊掖,這個root是指訪問密碼。WITH GRANT OPTION允許級聯(lián)授權脯宿。
這里說一下,安裝過程中遇到問題
1.如果在窗口執(zhí)行命令的時候泉粉,出現(xiàn)由于找不到MSVCR120.dll 無法繼續(xù)執(zhí)行代碼连霉,重新安裝程序可能會解決此問題
榴芳,這種錯誤是由于未安裝 vcredist 引起的,[下載vcredist](https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
)跺撼,下載完成直接安裝即可窟感,
2.MySql8 服務無法啟動。服務沒有報告任何錯誤,請鍵入 NET HELPMSG 3534 以獲得更多信息
解決辦法是:先刪掉原來的data歉井,然后卸載 mysql柿祈,然后輸入mysqld --initialize初始化data,再次安裝哩至,即可躏嚎。
參考文章:https://blog.csdn.net/qq_37350706/article/details/81707862