標籤:python-mysqldb安裝 linux下mysql安裝
(0)目錄
VMware 下安裝Ubuntu的吐血經曆
零基礎學習Shell編程
Linux下的makefile的妙用
Linux調試神器 -- gdb
十分鐘學會Python的基本類型
分布式版本管理神器--GIT
GIT檔案的三種狀態 & Git SSH秘鑰問題
十分鐘學習Python的進階文法
配置SSH無密碼訪問及Linux熱鍵、重啟、kill進程
Java的不定長參數和Python的不定長參數對比
Linux下python玩轉MySQLdb
一:起因
(1)Linux下安裝python的第三方模組 ---- MySQLdb,自己走了很多彎路,在此做一下總結,希望對於像我一樣的初學者有所協助
(2)Python中mysql資料庫連接的例子,請見Linux公社 或者 我的個人github原始碼
(3)MySQL-python 1.2.5的,同樣也是pipe python的資源網站
二:MySQLdb在Linux環境中的安裝
(1)Linux 下的安裝mysql資料庫,除了下載安裝包進行安裝外,一般的linux 倉庫中都會有mysql ,安裝命令:
Ubuntu\zyp>>sudo apt-get install mysql-server >>Sudo apt-get install mysql-client
>>mysql -u root -p 即可檢驗mysql服務和用戶端是否安裝和開啟
(2)MySQL-python驅動模組安裝
:https://pypi.python.org/pypi/MySQL-python/
下載MySQL-python-1.2.5.zip 檔案之後直接解壓。進入MySQL-python-1.2.5目錄:
>>python setup.py install ----- 報錯誤
(3-1)Python安裝模組出錯(ImportError: No module named setuptools)解決方案
安裝請看 http://blog.csdn.net/ab198604/article/details/8681851 或者 更加科學的方法
(3-2)提示報錯資訊:mysql_config not found
這個是因為缺少libmysqld_dev, libmysqlclient_dev 兩個開發包引起的
下載缺少的開發包,運行兩個命令:(如果未找到包,請詳細查看更改163源)
sudo apt-get insatll libmysqld-dev
sudo apt-get install libmysqlclient-dev
(4)修改原始碼目錄下的setup_posix.py檔案,將mysql_config.path 修改為mysql_config.path="/usr/bin/mysql_config"
再次在原始碼目錄中運行python setup.py build
系統再次提示報錯資訊: error: command ‘gcc‘ failed with exit status 1
需安裝兩個資源檔 :
sudo apt-get install build-essential sudo apt-get install python-dev
(5)再次會到源檔案目錄執行
sudo python setup.py buildsudo python setup.py install
至此,mysql的模組安裝完成!
(6)檢查MySQLdb 模組是否可以正常匯入
>>> import MySQLdb
(7)樣本
import MySQLdb# establish connection with mysqlconn = MySQLdb.connect(host='localhost',user='root',passwd='root')# get the cursor of operatorcur = conn.cursor()# execute sql and create database name/ drop database namecur.execute("""create database if not exists python""")# select database use databaseconn.select_db('python')# execute and create tablecur.execute("""create table test(id int,ifo varchar(100))""")value = [1,"inserted?"]# insert one recordcur.execute("insert into test values(%s,%s)",value)values=[]for i in range(20):values.append((i,'Hello mysqldb,I am record' + str(i)))# insert multi recordscur.executemany("""insert into test values(%s,%s)""",values)# close cursorcur.close()print "create successfully!"
三:linux操作資料庫命令
(1)建立資料庫
命令:create database <資料庫名>
(2)建立資料庫並分配使用者
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON
資料庫名.* TO 資料庫名@localhost IDENTIFIED BY ‘密碼‘;
(3)基本操作小結
# common command --- the same to cmd consel ---- mysql -u root -p --# mysql -- show databases; -- create database name -- use dbname --# drop database name -- create table name (id int, name varchar(100)) --# select * from tbname (where) / delete from tbname where -- desc tbname# insert into tbname values(1,'zyp') / update tbname set id=99 where id=9
Linux下python玩轉MySQLdb