MySQL 的官網下載地址:http://www.mysql.com/downloads/
一、各版本的區別
1. MySQL Community Server 社區版本,開源免費,但不提供官方技術支持。
2. MySQL Enterprise Edition 企業版本,需付費,可以試用30天。
3. MySQL Cluster 集群版,開源免費。可將幾個MySQL Server封裝成一個Server。
4. MySQL Cluster CGE 高級集群版,需付費。
5. MySQL Workbench(GUI TOOL)一款專為MySQL設計的ER/數據庫建模工具。它是著名的數據庫設計工具DBDesigner4的繼任者。MySQL Workbench又分為兩個版本,分別是社區版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。
我選擇MySQL Community Server,下載的文件為mysql-installer-community-5.7.21.0.msi,這個是windows圖形界面的離線安裝方式,可以免去很多直接解壓安裝方式的配置。
二,安裝(windows安裝包安裝)
1,點擊mysql-installer-community-5.7.21.0.msi安裝

如果出現下面的提示框,表明安裝程序需要.Net Framework4.5.2的安裝環境,我的Win7里面沒有這個環境。

按提示在這里下載.Net Framework4.5.2的安裝包:https://www.microsoft.com/en-us/download/confirmation.aspx?id=42642
下載的文件為:NDP452-KB2901907-x86-x64-AllOS-ENU.exe,先安裝這個文件。
2,點“接受”,Next

3,選“Server Only”,Next, 我只想安裝服務器,你也可以選第一個Developer Default,這樣Sever和Client的所有組件都會安裝。

4,顯示還需要一個C++ 2013 安裝環境

5,點“Excute”試圖自己解決失敗,原因是我沒有聯網,這個環境只能先去下載

需要ViusalC++ 2013 的環境,點Execute會失敗,原因是我是斷網的狀態,訪問不了外網。點Cancel退出。
可以在這里下載安裝vcredist_x86.exe,注意是x86的這個,即使你是64位系統也要這個。 https://www.microsoft.com/en-gb/download/confirmation.aspx?id=40784

6,安裝完上面的后,重新執行點擊mysql-installer-community-5.7.21.0.msi安裝包安裝

7,出現“Complete”,代表安裝成功了,接下來進入配置步驟,點“next”

8,點“Next”

9,點“Next”

10,選“Server Machine”,如果我們是本機調試開發,可選這個“Development Macine”,“Server Machine”的內存需求更大,用於部署環境,應對多客戶端的訪問,點“Next”

11,輸入root用戶的密碼

12,默認選項即可,你也可以適當修改。點“Next”

13,這一步可以不勾選,主要是用於NoSqL的支持,如果項目沒有用,那就沒有必要,我把它選了,點Next

14,點“Excute”開始配置

15,安裝完成



16,驗證是否成功
開始菜單--》Mysql--》MySql Server5.7-->MySQL 5.7 CommandLine Client
輸入剛才root的密碼


show databases命令,顯示默認的4個數據庫

到此安裝結束。
17,注意,這種方式安裝后,mysql的數據庫文件存儲地址在win7的C:\ProgramData\MySQL\MySQL Server 5.7 這個位置,並沒有在Program Files的安裝目錄下面。
三,其他功能安裝
1,如需要mysql的其他功能,可以重復利用上面那個安裝包,安裝其他功能。如客戶端連接工具,各種編程語言用的連接驅動,說明文檔,sample例子等。
2,壓縮版的安裝步驟
1)下載mysql-5.7.21-winx64.zip,解壓到D:\mysql-5.7.21-winx64
2)將D:\mysql-5.7.21-winx64添加到path變量
3)在D:\mysql-5.7.21-winx64下面新建一個data目錄
4)D:\mysql-5.7.21-winx64新建一個my.ini,內容為:
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
# 設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=D:\mysql-5.7.21-winx64
# 設置mysql數據庫的數據的存放目錄
datadir=D:\mysql-5.7.21-winx64\data
# 允許最大連接數
max_connections=200
# 設置mysql服務端默認字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
5)初始化數據庫目錄,並且root的密碼初始為空。
mysqld --initialize-insecure --user=mysql
如果這一步出現下面這樣的錯,那可能上面那個ini文件的內容保存的編碼有問題。

把里面的漢字用英文替換掉,或者干脆去掉注釋,ANSI編碼再次保存。
[mysql] # set mysql client charset default-character-set=utf8 [mysqld] # set port to 3306 port = 3306 # set basedir basedir=F:\StoreHouse\Sofeware\MySQL Server 5.7 # set database dir datadir=F:\StoreHouse\Sofeware\MySQL Server 5.7\data # max connections max_connections=200 # set mysql server charset character-set-server=utf8 # default engine default-storage-engine=INNODB
6)安裝服務:mysql3306
mysqld install mysql3306
7)啟動服務
net start mysql3306
8)登錄mysql
mysql -u root -p
備注:此時密碼為空。
9)修改密碼為root
mysql> set password=password('root');
到此結束
更多參考:
https://blog.csdn.net/we_are_the_world_123/article/details/79230537
四,開啟遠程訪問
1,查看數據庫用戶

可以看出root用戶只能localhost訪問。
2,添加或修改root用戶的host字段,這里選擇添加一條,讓root可以從任何機器登錄。‘%’代表任何,也可以是ip地址,限定某一台機器,或一個ip段,grant語句可以對用戶進行權限設置,如用戶不存在就創建一個新用戶。
grant all privileges on *.* to 'root'@'%' identified by '12345' with grant option; flush privileges;

可以看到多出一條root %的記錄。這時如果防火牆開啟了,依然不能遠程連接。
其他的一些用戶創建,授權,刪除
參考:https://www.cnblogs.com/xujishou/p/6306765.html 一. 創建用戶: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'dog2'@'localhost' IDENTIFIED BY ''; 遠程連接要將"localhost"改為"%",表示在任何一台電腦上都可以登錄 二.授權: 命令:GRANT privileges ON databasename.tablename TO 'username'@'host' PS: privileges - 用戶的操作權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最后面).如果要授予所的權限則使用ALL.;databasename - 數據庫名,tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示, 如*.*. 例子: GRANT SELECT, INSERT ON mq.* TO 'dog'@'localhost'; 三.創建用戶同時授權 mysql> grant all privileges on mq.* to test@localhost identified by '1234'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) PS:必須執行flush privileges; 否則登錄時提示:ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES ) 四.設置與更改用戶密碼 命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); 例子: SET PASSWORD FOR 'dog2'@'localhost' = PASSWORD("dog"); 五.撤銷用戶權限 命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 說明: privilege, databasename, tablename - 同授權部分. 例子: REVOKE SELECT ON mq.* FROM 'dog2'@'localhost'; PS: 假如你在給用戶'dog'@'localhost''授權的時候是這樣的(或類似的):GRANT SELECT ON test.user TO 'dog'@'localhost', 則在使用REVOKE SELECT ON *.* FROM 'dog'@'localhost';命令並不能撤銷該用戶對test數據庫中user表的SELECT 操作.相反,如果授權使用的是GRANT SELECT ON *.* TO 'dog'@'localhost';則REVOKE SELECT ON test.user FROM 'dog'@'localhost';命令也不能撤銷該用戶對test數據庫中user表的Select 權限. 具體信息可以用命令SHOW GRANTS FOR 'dog'@'localhost'; 查看. 六.刪除用戶 命令: DROP USER 'username'@'host'; 七.查看用戶的授權 mysql> show grants for dog@localhost;
3,關閉windows的防火牆,或是添加一條tcp的入站規則,允許端口3360。
到此為止,就可以通過Mysql服務器的ip地址,root用戶名遠程訪問了。
