2017年8月11日 星期五

mongoDB的使用- pymongo & DB在雲端

這邊不教如何安裝,因為我根本就不想安裝…
因此我是直接啟用Heroku中的 mongoDB add-on
只要在已有專案按下 "install mlab MongoDB",很快就在雲端裝完了
可以看到 24/7 全時運作,免費版有快500MB的空間,對一般的專案使用來說很好用了

在專案的Settings中就有你的DB存取URL
把這一行放到你的專案就可以使用了!!


ok, 接著要用python連結了,我們使用pymongo來連結
要注意的是URL中的最後一個斜線 "/" 後面接著的就是你的 DB名稱,因能用這個DB名而已
因此client['db_name'] 中要填的東西是固定的
然後collection就沒有說可以存在幾個,我們就先命名一個「test_coll」放資料進去了


ok,打完收工,使用mongoDB不安裝,就是這麼簡單



2017年8月10日 星期四

在anaconda安裝pymongo

anaconda的安裝指令為conda,安裝方式同pip
pip install pymongo
這邊我們改用
conda install pymongo

結果如下:
----
(C:\Users\Malo\Anaconda2) C:\Users\Malo>conda install pymongo
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment C:\Users\Malo\Anaconda2:

The following NEW packages will be INSTALLED:

    pymongo: 3.4.0-py27_0

The following packages will be UPDATED:

    conda:   4.3.21-py27_0 --> 4.3.24-py27_0

Proceed ([y]/n)?

pymongo-3.4.0- 100% |###############################| Time: 0:00:00 560.62 kB/s
conda-4.3.24-p 100% |###############################| Time: 0:00:04 131.37 kB/s
----

裝好了,測試如下
from pymongo import MongoClient
如果正常執行沒出錯,表示 pymongo就裝好了



2017年8月8日 星期二

sqlalchemy連接mysql錯誤

要連到mysql測試如下
db_engine = create_engine('mysql://root:admin@123@localhost/testdb')
出現錯誤「ImportError: No module named MySQLdb」

是因為少了相對應的模組,安裝如下:
pip install pymysql

然後改為:
db_engine = create_engine('mysql+pymysql://root:admin@123@localhost/testdb')
就沒問題了

接著就可以create table
resultProxy = db_engine.execute("CREATE TABLE IF NOT EXISTS testdb(uuid text NOT NULL, time text NOT NULL, data text)")

插入資料:
uuid = '123456789012345'
my_time = time.strftime("%Y-%m-%d %H:%M:%S")
data = '{ "ai": [ 26, 115 ], "do": [ 1, 0 ] }'
resultProxy=db_engine.execute("insert into rtudb (uuid, time, data) values('%s', '%s', '%s')" %(uuid, my_time, data))

查資料
resultProxy=db_engine.execute("select * from rtudb where uuid = '%s' and time >= '%s'" %('123456789012345', '2017'))

userList = resultProxy.fetchall()
print(userList)


XAMPP5.6.31 mysql加入密碼後無法登入使用

之前都是使用XAMPP的舊版,最近改用新版發現一開始的引導設定密碼和安全性的提示不見了…
mysql也都是不用密碼就可以登入


所以一裝好一樣進到phpmyadmin去改root的密碼,改完後發現不能登入!!
它也不讓你使用密碼登入,就直接給你一個大大的錯誤畫面!!
後來找到這篇文章才解決,memo一下,下次才會記得…


==== 說明 ====
執行apache和MySQL後就點Admin開啟phpmyadmin修改密碼

改好後就不能登入了
這時要修改「」檔,修改以下的部份:
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Lang'] = '';

改完後,把Apache和mysql重新啟動,就可以進到phpmyadmin的登入畫面了