MySQL官網下載5.7 zip安裝包 地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1、解壓mysql-5.7.14-winx64.zip
2、再解壓文件中新建data目錄
D:\win7soft\mysql-5.7.14-winx64\data
3、將D:\win7soft\mysql-5.7.14-winx64\bin路徑添加到path中
4、再bin目錄下復制my-default.ini為my.ini添加或者修改如下配置:
basedir = D:\win7soft\mysql-5.7.14-winx64
datadir = D:\win7soft\mysql-5.7.14-winx64\data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server=utf8
character_set_filesystem=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
4、cmd管理員身份運行進入,執行
cd D:\win7soft\mysql-5.7.14-winx64\bin
mysqld --initialize --user=mysql --console
遇到問題 :找不到msvcr120.dll
按照網上給出的方案:
1. 自己下載:msvcr120.dll 然后把該文件放入: c:/windows/System32(32位系統) c:/window/SysWOW64(64位系統)
2. 使用 regsvr32 msvcr120.dll 命令注冊對應的命令
上面的解決方案並沒有解決我的問題,試過了之后還是不行,這時可能就是系統問題導致的了,可以把后面的msvcr120.dll
換成其他的dll文件(隨便從那個兩個目錄中找一個dll)試試,看看是不是也不能成功注冊,如果其他文件也不行,那就說明的確是系統的問題。
緊接着我又下載了360安全衛士嘗試修復,在人工解答中搜索dll修復,也修復了,但是仍然沒有解決。 出現這個問題最主要的原因就是本地c++ 庫組件有問題。最后我找到了解決方案,就是下載一個 DirectX修復工具 , 然后使用該軟件進行修復即可
如果在修復的過程中,發現你本地已經安裝過c++組件, 把本地的卸載掉,在重試下即可
記錄下生成的root臨時密碼: localhost: 6o:Er;_yXGaa
5、添加系統服務,啟動MySQL
mysqld --install MySQL –>添加到系統服務
net start mysql –>啟動mysql服務
6、修改root密碼
cmd進入執行:mysql -u root -p
輸入剛才記錄的root臨時密碼:6o:Er;_yXGaa
修改root密碼:set password = password('root'); ---root密碼改為root了
exit退出就ok了
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
開啟遠程控制
MySQL默認是沒有開啟遠程控制的,必須添加遠程訪問的用戶,即默認是只能自己訪問,別的機器是訪問不了的。
1、方式一(已驗證):
1.1、連接服務器: mysql -u root -p
1.2、看當前所有數據庫:show databases;
1.3、進入mysql數據庫:use mysql;
1.4、查看mysql數據庫中所有的表:show tables;
1.5、查看user表中的數據:select Host, User,Password from user;
1.6、修改user表中的Host:update user set Host='%' where User='root';?
1.7、最后刷新一下:flush privileges;
1.8、注意:一定要記得在寫sql的時候要在語句完成后加上" ; "?
2、方式二(未驗證):
1、使用 grant?命令
grant?all privileges on 數據庫名.表名 to 創建的用戶名(root)@"%" identified by "密碼";
2、格式說明:
數據庫名.表名 如果寫成*.*代表授權所有的數據庫 flush privileges; #刷新剛才的內容
如:
grant all privileges on *.* to root@"113.123.123.1" identified by "123456789";
@ 后面是訪問mysql的客戶端IP地址(或是 主機名) % 代表任意的客戶端,
如果填寫 localhost 為本地訪問(那此用戶就不能遠程訪問該mysql數據庫了)