一、安裝過程
《1》5.7及以上
Mysql社區版下載地址:http://dev.mysql.com/downloads/mysql/
--注意,已管理員身份運行cmd.exe,很重要!!目錄在,cmd.exe文件在 c:\windows\system32下。。
或者如下圖,搜索出來,右擊以管理員身份運行,win10也有搜索功能的。
因為我的系統版本是64,因此這里下載x64版本。下載完之后解壓至 E:\sql_data\mysql-8.0.16-winx64(即為mysql的自定義解壓目錄,你也可以換一個自己想要的目錄)
我的習慣是下載完之后首先注冊系統服務。CMD打開命令提示符,進入到 E:\sql_data\mysql-8.0.16-winx64,把MySql安裝為服務:
步驟前置:進入到mysql解壓目錄
為了解決默認服務路徑的問題,建議進入到解壓目錄下再執行步驟一,否則必定報錯誤【4】,操作如下:
【1】進入dos窗口下 【2】e: 【3】cd e:\sql_data\mysql-8.0.16-winx64\bin
步驟一:把mysql安裝為服務
執行:mysqld.exe -install mysql ( 安裝完成后先不要啟動服務,因為會報錯 )
參考 : mysqld.exe -install "Mysql" --defaults-file = 'e:\mysql\data\my.ini' --initialize --basedir='e:\mysql\mysql57' --datadir='e:mysql\data\data'
步驟二:添加環境變量
操作如下:
①右鍵單擊我的電腦->屬性->高級系統設置(高級)->環境變量
②選擇系統變量中的Path ,點擊編輯按鈕
在變量值中添加變量值:;E:\sql_data\mysql-8.0.16-winx64\bin (需要注意的是要在原有變量值后面用 ; 隔開,不能刪除原來的變量值,前面給出的代碼分號以及要記得一起復制上去哦)
步驟三:配置mysql.ini文件
把 E:\sql_data\mysql-8.0.16-winx64\my-default.ini 文件復制一份重命名為my.ini
我沒有這個文件my-default.ini,那我自己新建了一個文件my.ini(怎么新建?直接新建一個txt文件,然后修改名字為my.ini就好了,要是發現自己新建的文件沒有.txt后綴,那么設置文件夾查看不隱藏已知文件擴展名即可)
然后編輯這個文件,內容用以下配置替換,內容代碼如下
[mysqld] #shared-memory #skip-grant-tables sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # 設置3306端口 port=3306 # 設置mysql的安裝目錄 basedir=E:\\sql_data\mysql-8.0.16-winx64 # 設置mysql數據庫的數據的存放目錄 datadir=E:\\sql_data\mysql-8.0.16-winx64\\data # 允許最大連接數 max_connections=200 # 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統 max_connect_errors=10 # 服務端使用的字符集默認為UTF8 #character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB secure_file_priv=
# 8.0以上版本可以加上這條,如果加上這條,那么mysql8初始化密碼就為空了
# 修改默認密碼的加密方式
#default_authentication_plugin=mysql_native_password
[mysql] # 設置mysql客戶端默認字符集 #default-character-set=utf8 [client] # 設置mysql客戶端連接服務端時默認使用的端口 port=3306
注意對應修改你的 datadir 和 basedir 為你自己的自定義目錄。
比如我的就是 E:\sql_data\mysql-8.0.16-winx64 ,但我們需要用 \\來代替\(如上面配置文件代碼中寫的那樣),或者使用 / 來代替 \ 。
注意,文件應該是ansi編碼,如果你是直接新建的則無需理會該條注意信息,后續如果有初始化相關報錯再回來看這一條。
步驟四:初始化Mysql
這也是跟之前版本最大的區別:從5.7.7開始,windows下的安裝包不包含data目錄,在啟動服務之前需要先初始化數據:
以管理員身份打開cmd,
執行:mysqld --initialize --console
( --initialize-insecure 可以讓默認root用戶設置為空密碼)
參考:mysqld --defaults-file = 'e:\mysql\data\my.ini' --initialize --basedir='e:\mysql\mysql57' --datadir='e:mysql\data\data'
(1)執行完這條命令后,MySQL會在根目錄自建一個data文件夾(注意啊,如果報錯找不到data目錄,那么需要新建配置文件中指定的目錄 datadir=D:\\dev\\mysql\\data )
(2)因為我們加了 --console參數,所以初始化信息會打印出來,如下圖,我們的臨時密碼就是這個。
找到密碼,輸入密碼進入,root是用戶名。注意,如果屏幕上沒有打印出密碼(如果沒有加上--console參數),那么就在【3】中的 datadir=D:\dev\mysql\data 目錄下,會有個 計算機名.err 的文件,去那里頭找密碼
(3)再輸入 net start mysql 啟動服務,OK啟動成功
然后利用臨時密碼登錄。
步驟五:登陸Mysql數據庫
(1)可能會出現的問題
如果沒做步驟前置
多半會出現-》啟動mysql服務提示找不到指定文件,修改注冊表路徑(參考報錯處理4-》在本文末尾)
(2)登陸Mysql數據庫
輸入mysql -u root -p ,默認是沒有密碼的(mysql5.6及之前),直接回車即可。
但mysql5.7及以上均有密碼,默認按照上面的初始化命令密碼會出現在屏幕上(【4】中執行的初始化命令:mysqld --initialize-insecure --console)。
找到密碼,輸入密碼進入,root是用戶名。注意,如果屏幕上沒有打印出密碼(如果沒有加上--console參數),那么就在【3】中的 datadir=D:\dev\mysql\data 目錄下,會有個 計算機名.err 的文件,去那里頭找密碼
此時使用show databases; 已經可以看到初始化生成的默認數據庫了
(3)修改root賬戶密碼
連接進入mysql數據庫后,用以下命令修改密碼
5.7 修改密碼的方法
alter user 'root'@'localhost' identified by '123456';
flush privileges;
8.0+修改密碼的辦法
alter user root@'localhost' identified with mysql_native_password by '123456';
(4)退出再次登錄,使用新密碼就行了:
mysql -u root -p 123456
(5)創建可以遠程登錄的root賬戶
用默認root登錄進Mysql賬戶后
<5.7+> create user root@'%' identified by '123456';
grant all privileges on *.* to root@'%'
<8.0+> create user 'root'@'%' IDENTIFIED WITH mysql_native_password by '123456';
grant all privileges on *.* to root@'%'
《2》5.6及以下
很簡單:
1.解壓
比如我解壓到這里 E:\sql_data\mysql-5.6.20-winx64
2.設置環境變量
(1)打開環境變量:右鍵單擊我的電腦->屬性->高級系統設置(高級)->環境變量
(2)修改path:直接把這個 ;E:\sql_data\mysql-5.6.20-winx64\bin 加入到 環境變量path最末尾就好(記得啊,這個分號不要忽略掉啊)
3.構造配置文件my.ini
復制 mysql5.6文件下的 my-default.ini
一定要寫 / 這個斜桿,或者 \\
[mysqld]
basedir =e:/sql_data/mysql-5.6.20-winx64
datadir =e:/sql_data/mysql-5.6.20-winx64/data
port = 3306
server_id = 10
不然可能會報錯如下:
很明顯從最后一行信息可以看出,連路徑信息都缺了
e: ql_data\mysql-5.6.20-winx64\data\ibdata1
Plugin 'FEDERATED' is disabled. Can't open the mysql.plugin table. Please run mysql_upgrade to create it --報錯行 InnoDB: Using atomics to ref count buffer pool pages InnoDB: The InnoDB memory heap is disabled InnoDB: Mutexes and rw_locks use Windows interlocked functions InnoDB: Memory barrier is not used InnoDB: Compressed tables use zlib 1.2.3 InnoDB: Not using CPU crc32 instructions InnoDB: Initializing buffer pool, size = 4.0G InnoDB: Completed initialization of buffer pool InnoDB: File e: ql_data\mysql-5.6.20-winx64\data\ibdata1: 'create' returned OS error 103. Cannot continue operation --報錯行
4.把mysqld安裝成mysql56服務
以管理員身份打開cmd
輸入如下命令:
e: E:\sql_data\mysql-5.6.20-winx64\bin\mysqld.exe install mysql56 --defaults-file=E:\sql_data\mysql-5.6.20-winx64\my.ini
5.啟動服務,登錄
啟動服務:直接net start mysql56
登錄mysql:mysql -uroot -p
然后enter password: 直接敲回車就好
6.修改密碼
可以看《1》中的步驟五種的(5)
我們這里只改當前賬戶密碼(當前賬戶就是 root@localhost)
set password=password('你的密碼')
比如我這里改密碼為 123456
后面這句 flush privileges 對於新手而言 執行也可以不執行也行;
7.創建遠程登錄root賬戶
上面那個系統自動的root@localhost賬戶,只能你本地機器使用localhost 或者 127.0.0.1 登錄的,使用自己機器的地址以及其他機器都不能登錄的。如下圖:
這個時候你可以創建一個允許遠程登錄的root賬戶;也就是 root@%
create user root@'%' identified by '123456'; -- 這個密碼不必和上面的 root@localhost的密碼一樣
grant all privileges on *.* to root@'%';
如下圖:創建后,就可以用IP登錄了。
二、報錯處理
1.dll缺失
少什么下載什么。
如果您的系統提示“找不到msvcr120.dll ”或“msvcr120.dll 丟失” 或者“msvcr120.dll 錯誤”的問題,下載本文件復制到*/Windows/SYSTEM32下,即可正常運行程序。
dll文件如何安裝
通常是將dll文件復制到“ X:Windowssystem32 ” (X代表您系統所在目錄盤符,如:C:Windows\system32 ) 目錄下。
2.文件缺失
在重裝mysql數據庫(解壓版)遇到了幾個棘手的問題,經過查閱資料,不斷實踐解決了上述兩個問題,現將辦法分享一下。
1、無法正常啟動(0xc000007b)?
在cmd控制台,mysql的安裝路徑下使用mysql install命令出現以下無法正常啟動(0xc000007b)的錯誤,如圖:
解決:在百度上下載DirectX修復工具(增強版),修復即可。
鏈接:http://www.pc6.com/softview/SoftView_57945.html
注意,需下載增強版,這樣可以修補系統相關的C++組件。 (一定要加強啊,不然要多重啟一遍
)
2、初始化失敗
在mysql install命令運行成功后,接着運行mysqld –initialize命令完成數據庫初始化功能,這是遇到了error: Found option without preceding group in config file: /data/3307/my.cnf at line: 1
原因:my.ini文件格式是utf-8
解決辦法,my.ini文件保存為ANSI格式文件
3、安裝解壓版mysql時,密碼忘記了怎樣重置?
3.1 用戶登錄
mysql -uroot -p (直接點擊回車,密碼為空)
3.2 選擇數據庫
use mysql;
3.3 重置密碼
在5.7版本中不存在password字段,所有我們要用以下修改進行重置密碼
update user set authentication_string=password(‘123456’) where user=’root’;
3.4 執行
flush privileges;
4、最后運行net start mysql命令
3.創建失敗,permission denied
請已管理員身份運行。
4.啟動mysql服務提示找不到指定文件
(轉自:https://jingyan.baidu.com/article/91f5db1bd298ed1c7f05e315.html)
在安裝mysql后,如果你選擇的路徑不對或者是綠色版免安裝的,安裝完成后,可能會出現無法連接服務,主要就是你mysql服務沒有開啟,但是你在windows的服務中也找不到mysql的服務。這是你需要安裝mysql的服務,並開啟它。
如果你是5.0的版本,先用cmd進入mysql的文件目錄下的bin目錄執行:mysqld-nt.exe -install
如果是5.1之后的版本命令:mysqld.exe -install
可以看到我是已經安裝他會提示你已經安裝了,如果沒有就會提示成功安裝。
接下來在服務列表就可以找到mysql的服務了!!!有問題你直接啟動服務就可以,連接上mysql了,不過有時因為你安裝的目錄不是默認的或者你之前安裝過和之前的目錄不一致,當你啟動會出現
這是由於你服務的路徑和你安裝的路徑不一致造成的,你需要修改下注冊表,首先打開注冊表 ,cmd輸入regedit就可以了
找到mysql服務的注冊表,如上圖,修改其中imagePath變量就行了
路徑就是你mysqld.exe所在的路徑
這樣mysql服務就啟動了
5.mysql8.0無法遠程連接,無法使用navicat鏈接
參考:mysql8無法用navicat連接(mysql8加密方式的坑)
直接修改密碼即可,不要過加上 with mysql_native_password
(1)方法1:案例推薦使用
alter user '用戶名'@localhost IDENTIFIED WITH mysql_native_password by '你的密碼';
(2)方法2:初始化之前,在配置文件中設置好默認加密方式
# 8.0以上版本可以加上這條
# 修改默認密碼的加密方式
#default_authentication_plugin=mysql_native_password
6.初始化錯誤,找不到 MSVCP140.dll
說明沒有安裝VC++2015運行庫,MySQL運行需要這個運行庫,可以去微軟官網下載,大概實十幾M大小。
進入微軟官網搜索並下載


相關文檔:
mysql8.0 安裝 修改密碼 允許遠程連接:https://www.cnblogs.com/xyabk/p/8967990.html#4436207