Error: 2003
mysql
解決方法:
https://stackoverflow.com/questions/7927854/start-mysql-server-from-command-line-on-mac-os-lion
有可能出的問題
-
你在你的電腦裡裝好 mysql 但沒有開啟他(就是你裝了 apache,也要下指令開啟啊!)
-
對面 ip/虛擬機的 port3306 沒開
開 Terminal 下指令
Simply:
mysql.server start
mysql.server stop
mysql.server restart
然後還是報同樣的錯
這次決定 ssh 進我的 ubuntu 主機看看
解決方法:
http://www.configserverfirewall.com/ubuntu-linux/enable-mysql-remote-access-ubuntu/
http://gaznjang.blogspot.tw/2010/08/mysqld-bind-address.html
不過當我改到
bind-address = 0.0.0.0
就被擋下來了
一方面是檔案 Read-Only
一方面則是我怕按下去整個伺服器會掛掉
但我還是把我找到的解法 po 出來
然後默默地密了學弟
在默默地含淚打給指導老師
我想兩週沒看到他了,是該跟他回報一下了
所以等週一吧
目前就先弄眼前大數據分析的分析表吧 QQ
107.04.13 更新
就在和(ㄐㄧㄥ)政(ㄍㄨㄛ ˋ)府(ㄐㄧ ˇ)打(ㄊㄧㄢ)了(ㄎㄨㄤ ˊ)一(ㄐㄧㄚ)場(ㄅㄢ)戰(ㄓ )後(ㄏㄡ ˋ)
我終於回來更新一下,我這篇的進度
約莫三天前,週一的時候到了研究室詢問了一下學弟
我將
bind-address = 0.0.0.0
這樣改後
就能夠在我的 python Desktop 應用端編譯成功連上我的虛擬機器端
所以必須告訴大家的是,即便你將你的虛擬機對外開放後,你發現無法連上資料庫
其實就是因為 phpmysql 阻擋你登入
有可能的原因是
-
檢查你自己電腦的 mysql 裝好後有沒有下指令開啟(對!電腦就是這麼笨,裝好你還要下指令讓他開)
-
檢查你的機器/雲端/虛擬機器之類的 ip 有沒有對外開放
-
若你的機器/雲端/虛擬機器為 Ubuntu,請到 etc 資料夾檢查 mysql 有無對外開放與 mysql 的權限問題
經過這次我自己生病兩週加上和指導老師隔絕的情況下自己胡搞瞎搞,雖然扛著崩潰的精神壓力很痛苦外,我其實還學到不少東西
原來唐老師説牡羊座今年想死卻是個轉機是真的
但打死我都不想再經歷一次那種巨大的精神壓力
而這邊列了一下自己沒有外力幫助完全靠自己理解的新東西
-
Ubuntu 的 Etc 用處
-
Mac 中,Homebrew/Python&pip
-
Mysql+phpmyadmin
-
Python Desktop+tkinter 開發
首先
至從買了個 Mac,自己進入到一個全新的系統 Unix
一般使用蘋果系統的人應該比較不曉得,就是時常享受著蘋果產品帶來的質感跟炫富
但其實由於蘋果的系統為 Unix 系統,我個人覺得跟 Ubuntu 還蠻像的
但可能也是因為蘋果產品市佔率比 linux 高一點,所以有些公司會針對 ios 跟 macOS 開發軟體
也就是說 Mac 的系統以論上介於 Window 這樣人性化和 linux 這樣偏機器化的系統中間
有點偏人性化但也偏機械化
而自己本身是一個一半聽懂人話,一半又是理科腦想探討機器的人
所以對 linux 有著極大的興趣
以往都是學弟們將 ubuntu 架好在機器上
我們將寫的網路扔到 home 裡面
這次有幸,從 home 往前探勘,才發現許多系統的運作操作,還有很多軟體程式都裝在目錄 home 的前一層
也才知道 etc 是做什麼用的
為什麼會說 ubuntu 和 unix 很像
其實就是大家打開終端機,將目錄從/使用者/那端往前切後會發現
使用者端(應該就是 Home)之前的目錄跟資料夾,macOS 和 Ubuntu 都很像
應該說所有的系統操作跟軟體程式都裝在這一層
所以很多開發者的部落格跟資訊常常說將你的程式寫在根目錄
根目錄應該就是 Home 裡
因為 home 以外的其他資料夾比較偏向是系統層面的東西
還有如果你是新手再起初開發一些程式時,會發現有些部落客或者課程不會讓你開發的程式資料夾建在 Desktop
但 Windows 用久了,什麼東西除了扔桌面跟 Download 很少扔在其他地方
但在 Mac,既然是寫程式,其實就是將資料夾建在桌面上一層的地區
所以如果你想要把一些你曾經建了卻不知道建在哪的開發程式資料夾刪除
從桌面移動上一層目錄,應該會找到(系統應該也會幫你裝在那)
換句話說,在 windows 等於建在C曹的 Prgramfiles << 這個東西換成中文就是程式的檔案啦~
提到 Homebrew 其實是那時候 mysql 跟 python 套件那邊卡住
還有我卡 python2.7 跟 python3.6 的時候
Homebrew 是蘋果的套件管理工具
以前我常常把他跟 pip 搞錯
所以如果你裝了什麼程式或者裝什麼程式的套件會需要使用到 Homebrew
而因為這樣我去下了些指令找出之前用 Homebrew 亂裝了些什麼
早期不懂,只會看人家文章學著下指令裝
但可能那時候想把 python3.6 殺掉,全部只用 2.7,才想說找出 homebrew 清掉之前亂裝的東西
啊因為我從進研究所開始寫程式的時候接觸到的全都是 Python 居多
所以我以為 pip install = 全部終端機安裝的用法
所以拿這個指令在 ubuntu 猛按就是一直報錯 XDD
我應該可以這樣理解啦
Python 跟 pip 是綁在一起
Python Package Index,簡稱 PyPI
他是軟體包管理系統,而可以拿來用來安裝 Python 的套件
而不是像我因為沒有接觸過其他語言,就一直 pip pip pip xDDDD
然後打的很開心,報錯還一直問為什麼沒辦法裝!!! XD
這解釋起來比較困難,但是要裝 phpmyadmin 就需要裝 mysql
然後 A 端連過去 B 端
B 端要裝 phpmysql
A 端要裝,mysql 及能連線 mysql 的套件(一樣專完 mysql 才能裝)
mysql 裝完記得開起來才能裝
mysql 跟 python 跟其他軟體都會被統一裝在一個地方(我那時候有看到可是我忘了是在哪個目錄裡)
最後撒花一下
就是學到了以往 exe 這類型的桌機檔都怎麼開發
其實不會很困難,我們都把它想得十分十分的困難
tkinter 適用 python 開發的一種介面套件
而開發桌機程式,我自己智障作法就是像網頁一樣先寫好幾個介面,再去一個一個定義裡面的功能,算是比較笨的方法,但我還不知道比較偏機械端的桌機版要怎麼跟資料庫連結像寫網頁那樣 XD
最後說一下,成功將 bind 改後,下一個被擋的原因
也是我放棄改用別的的原因
被黨的原因是 phpmyadmin 的 database 拒絕我這個電腦 ip 的連線
但因為我本來就是希望開發這個程式丟給不同電腦的人使用,在將他們的資訊收集起來回送雲端
而為什麼會拒絕電腦 ip 的連線
主要就是在 phpmyadmin 裡的權限使用者那邊,需要新增
如果是只有你一個人要用,你就在權限使用者那新增你的電腦就好
但是,我是因為我要不同電腦的人回送他的資料回來
我總不可能手動新增每個人電腦的 ip 進來
再來利用像學校那樣的鎖 ip 網段,這種的可以在 phpmyadmin 上辦到,解決權限問題
因為鎖 ip 網段是為了安全
鎖權限也是為了安全
還有一種就是你開發註冊帳號跟密碼的系統,這樣就能達到"使用者登入"(權限開放給使用者)
而我的用意是希望將資料庫開發給大家回傳資料,這樣做法顯然不能用
Python3.6+Pymsql 的方法直接這樣搞
請示了一下指導老師,也是說不行
但得到一個新的名稱就是 REST API
還有請示指導老師後,我的程式開發也改了需求跟換了方式
不一定還會繼續開發我的 python Desktop Application
但是由於這次美麗的誤打誤撞,我就把他寫下來記錄起來
若以上有錯誤,再麻煩指正