mysql5.7.20安裝


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用戶名遠程訪問了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM