新聞中心
在網(wǎng)站開發(fā)中,數(shù)據(jù)庫(kù)是不可或缺的一部分,這對(duì)于一個(gè)初學(xué)者來(lái)說(shuō)可能會(huì)有一些困難。然而,使用OneinStack工具可以使添加數(shù)據(jù)庫(kù)變得輕松簡(jiǎn)單。本文將介紹如何使用OneinStack工具,以及如何添加數(shù)據(jù)庫(kù)。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比楊浦網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式楊浦網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋楊浦地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
OneinStack是一個(gè)基于CentOS的LNMP/LAMP堆棧自動(dòng)安裝程序,它可以快速搭建LNMP/LAMP環(huán)境,包括Nginx或Apache服務(wù)器、MySQL或MariaDB數(shù)據(jù)庫(kù)、PHP等。在本文中,我們將主要關(guān)注如何使用oneinstack添加數(shù)據(jù)庫(kù)。
我們需要下載安裝OneinStack工具。我們可以在OneinStack的官方網(wǎng)站上下載它:
OneinStack - 一鍵PHP/JAVA安裝工具
下載完成后,我們需要在CentOS上解壓文件。
tar -xvf oneinstack-full.tar.gz
然后,我們需要進(jìn)入OneinStack目錄并執(zhí)行安裝腳本。
cd oneinstack/
./install.sh
在執(zhí)行安裝腳本之后,我們需要選擇要安裝的選項(xiàng)。我們只需要安裝MySQL或MariaDB數(shù)據(jù)庫(kù)就可以了,因?yàn)樗鼈兪亲畛S玫臄?shù)據(jù)庫(kù)之一。
選擇相應(yīng)的選項(xiàng)后,腳本就會(huì)開始安裝數(shù)據(jù)庫(kù)。安裝完成后,我們需要進(jìn)入MySQL或MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)(這取決于我們選擇的數(shù)據(jù)庫(kù))。
mysql -uroot -p
現(xiàn)在,我們可以使用MySQL或MariaDB管理系統(tǒng)添加數(shù)據(jù)庫(kù)。我們將為您展示如何添加一個(gè)名為mydatabase的數(shù)據(jù)庫(kù)。
我們需要使用以下命令創(chuàng)建一個(gè)名為mydatabase的數(shù)據(jù)庫(kù)。
CREATE DATABASE mydatabase;
此命令將在MySQL或MariaDB中創(chuàng)建一個(gè)名為“mydatabase”的數(shù)據(jù)庫(kù)。
接下來(lái),我們可以使用以下命令創(chuàng)建一個(gè)新用戶并分配權(quán)限。
CREATE USER ‘myuser’@’localhost’ IDENTIFIED BY ‘mypassword’;
GRANT ALL PRIVILEGES ON mydatabase.* TO ‘myuser’@’localhost’
此命令將在MySQL或MariaDB中創(chuàng)建一個(gè)名為“myuser”的用戶,并將其授權(quán)訪問名為“mydatabase”的數(shù)據(jù)庫(kù)。
在完成設(shè)置之后,我們可以使用以下命令從MySQL或MariaDB退出。
exit;
現(xiàn)在,我們已經(jīng)成功地添加了一個(gè)名為mydatabase的數(shù)據(jù)庫(kù),并創(chuàng)建了一個(gè)名為“myuser”的用戶。我們可以使用這些憑據(jù)在我們的網(wǎng)站中訪問數(shù)據(jù)庫(kù)。
是一項(xiàng)非常簡(jiǎn)單的任務(wù),只需要遵循以上步驟即可完成。在網(wǎng)站開發(fā)中添加數(shù)據(jù)庫(kù)是至關(guān)重要的一步,因?yàn)閿?shù)據(jù)庫(kù)可以方便存儲(chǔ)大量數(shù)據(jù),并讓我們輕松地管理和訪問這些數(shù)據(jù)。當(dāng)然,這只是添加數(shù)據(jù)庫(kù)的基礎(chǔ),我們還需進(jìn)一步學(xué)習(xí)一些高級(jí)技巧和更佳實(shí)踐,以確保我們的數(shù)據(jù)庫(kù)可以始終保持高效和安全。
相關(guān)問題拓展閱讀:
- oneinstack安裝好之后網(wǎng)站程序怎么上傳
- 如何使用python連接mysql數(shù)據(jù)庫(kù)
oneinstack安裝好之后網(wǎng)站程序怎么上傳
1、首納察先要知道網(wǎng)站服務(wù)巖悉器的上傳帳號(hào)和密碼。
2、然后找個(gè)FTP軟件,用上傳的粗茄乎帳號(hào)和密碼登陸。
3、然后選擇網(wǎng)站程序進(jìn)行上傳操作即可。
你好,我剛才也碰到你同樣的問題,就是qq2023最新版下載不能運(yùn)行的問題,我剛才已經(jīng)解決了,和樓上的說(shuō)的明納是差不多,原因在于 就是win7 64位,而microsoft visual c++ 也是有64位和32(就是x86),根據(jù)我的判斷現(xiàn)在64位還不夠成熟,qq的程序員可能都是基于c++32位開發(fā)的,面向大眾的,而win7 64位是兼容32位的,但又有獨(dú)立64位開發(fā)環(huán)境,簡(jiǎn)單的說(shuō),比如一個(gè)大碗里可以容得下小小碗,但小碗并不一定承受的了一個(gè)大碗,當(dāng)然這只是比喻,差不多的意思,所以很多情況說(shuō)不準(zhǔn),說(shuō)不定下個(gè)版本的qq又可以兼容64位的microsoft visual c++ 那么方法畝茄就是你去下一個(gè)32位(也就是x86)的microsoft visual c++ ,安裝成功,如果你的qq沒有在安裝情況下出錯(cuò)就不用卸載就可以運(yùn)行,否則卸載重新安裝,我說(shuō)的是你在64位的win7下面安裝32位(x86)版本的microsoft visual c++ ,2023 和2023都激耐沒可以,我是用的2023,另外我裝了32位和64位的microsoft visual c++ ,兩個(gè)都裝上,因?yàn)槠渌能浖苍S不支持32位呢?建議你裝上這兩個(gè)不同的版本的microsoft visual c++ 。
如何使用python連接mysql數(shù)據(jù)庫(kù)
你可以訪問Python數(shù)據(jù)庫(kù)接口及API查看詳細(xì)的支持?jǐn)?shù)據(jù)散清庫(kù)列表。不同的數(shù)據(jù)庫(kù)你需要下載不同的DB API模塊,例如你需要訪問Oracle數(shù)據(jù)庫(kù)和Mysql數(shù)據(jù),你需要下載Oracle和MySQL數(shù)據(jù)庫(kù)模塊。
DB-API 是一個(gè)規(guī)范. 它定義了一系列必須的對(duì)象和數(shù)據(jù)庫(kù)存取方式, 以便為各種各樣的底層數(shù)據(jù)庫(kù)系統(tǒng)和多種多樣的數(shù)據(jù)庫(kù)接口程序提供一致的訪問接口 。
Python的DB-API,為大多數(shù)的數(shù)據(jù)庫(kù)實(shí)現(xiàn)了接口,使用它連接各數(shù)據(jù)庫(kù)后,就可以用相同的方式操橋掘猜作各數(shù)據(jù)庫(kù)。
Python DB-API使用流程:
引入 API 模塊。
獲取與數(shù)據(jù)庫(kù)的連接。
執(zhí)行SQL語(yǔ)句和存儲(chǔ)過程。
關(guān)閉數(shù)據(jù)敏型庫(kù)連接。
什么是MySQLdb?
MySQLdb 是用于Python鏈接Mysql數(shù)據(jù)庫(kù)的接口,它實(shí)現(xiàn)了 Python 數(shù)據(jù)庫(kù) API 規(guī)范 V2.0,基于 MySQL C API 上建立的。
如何安裝MySQLdb?
為了用DB-API編寫MySQL腳本,必須確保已經(jīng)安裝了MySQL。復(fù)制以下代碼,并執(zhí)行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
在 Python 語(yǔ)言環(huán)境下我們這樣連接數(shù)據(jù)庫(kù)。
In : from mysql import connector
In : cnx = connector.connect(host=”172.16.192.100″,port=3306,user=”appuser”,password=”xxxxxx”)
但是連接數(shù)據(jù)庫(kù)的背后發(fā)生了什么呢?
答案
當(dāng)我們通過驅(qū)動(dòng)程序(mysql-connector-python,pymysql)連接 MySQL 服務(wù)端的時(shí)候,就是把連接參數(shù)傳遞給驅(qū)動(dòng)程序,驅(qū)動(dòng)程序再根據(jù)參數(shù)會(huì)發(fā)起到 MySQL 服務(wù)端的 TCP 連接。當(dāng) TCP 連接建立之后驅(qū)動(dòng)程序與服務(wù)端之間會(huì)按特定的格式和次序交換數(shù)據(jù)包,數(shù)據(jù)包的格式和發(fā)送次序由 MySQL 協(xié)議 規(guī)定。MySQL 協(xié)議: MySQL 服務(wù)端與驅(qū)動(dòng)程序之間,按如下的次序發(fā)送了這些包。
MySQL 服務(wù)凳塵端向客戶端發(fā)送一個(gè)握手包,包里記錄了 MySQL-Server 的版本,默認(rèn)的授權(quán)插件,密碼鹽值(auth-data)。
2. MySQL 客戶端發(fā)出 ssl 連接請(qǐng)求包(如果有必要的話)。
3. MySQL 客戶端發(fā)出握手包的響應(yīng)包,這個(gè)包時(shí)記錄了用戶名,密碼加密后的串,客戶端御漏屬性,等等其它信息。
4. MySQL 服務(wù)端發(fā)出響應(yīng)包,這個(gè)包里記錄了登錄棗拆禪是否成功,如果沒有成功也會(huì)給出錯(cuò)誤信息。
1、和數(shù)據(jù)庫(kù)建立連接2、執(zhí)行sql語(yǔ)句,接收返回值3、關(guān)閉數(shù)據(jù)庫(kù)連接1、MySQL數(shù)據(jù)庫(kù)要用游頌亮MySQLdb模塊,但Python用來(lái)鏈接MySQL的第三方庫(kù)MySQLdb不支持Python3.x特別說(shuō)明:我在我的電腦上實(shí)驗(yàn)時(shí),我的python是2.7.2版本,安裝對(duì)應(yīng)版本的MySQLdb之后直接可以運(yùn)行,并與數(shù)據(jù)庫(kù)連接成功,所以如果大家也像我一樣順利的話,下面的就不需要看了,直接跳過,看第2點(diǎn)如何執(zhí)行sql語(yǔ)句即可!如果安裝之后出現(xiàn)異常,可以參考一下下面的解決法。連接的關(guān)鍵是安裝MySQLdb模塊要下載與Python相對(duì)應(yīng)的版本:下載好后安裝,它會(huì)自動(dòng)檢測(cè)到計(jì)算機(jī)Python的安裝路徑,并自動(dòng)填寫模塊解壓路徑(我的是:D:\ProgramFiles\ActivePython2.6.6.17\Lib\site-packages\)。但解壓完成后并不能使用,還要修改MySQLdb模塊下的一些文件:①.在MySQLdb目錄下(我的是:D:\ProgramFiles\ActivePython2.6.6.17\Lib\site-packages\MySQLdb)找到__init__.py:注釋第34、35行的fromsetsimportImmutableSet、classDBAPISet(ImmutableSet):,在后面添加classDBAPISet(frozenset):#fromsetsimportImmutableSet#classDBAPISet(ImmutableSet):classDBAPISet(frozenset):②.打開converters.py:注釋第37行的fromsetsimportBaseSet,Set,將第45行的returnSet()中的Set改為set;同樣將第129行的Set:Set2Str,中的Set改為set(不要修改Set2Str),到這里就修改完畢了2.建立數(shù)據(jù)庫(kù)連接importMySQLdbconn=MySQLdb.connect(host=”localhost”,user=”root”,passwd=”sa”,db=”mytable”)比較常用的參數(shù)包括host:連接的數(shù)據(jù)庫(kù)服務(wù)器主機(jī)名,默認(rèn)為本地主機(jī)(localhost)。user:數(shù)據(jù)庫(kù)登陸名.默認(rèn)是當(dāng)前用戶.passwd:數(shù)據(jù)庫(kù)登陸的秘密.默認(rèn)為空.db:要使用的數(shù)據(jù)庫(kù)名.沒有默認(rèn)值.port:MySQL服務(wù)使用的TCP端口.默認(rèn)是3306.conn連接有兩個(gè)重要的方法commit【提交新增和修改】,rollback【撤銷新增或修改】3、執(zhí)行數(shù)據(jù)庫(kù)操作n=cursor.execute(sql,param)我們櫻歷要使用連接對(duì)象獲得一個(gè)cursor對(duì)象,接下來(lái),我們會(huì)使用cursor提供的方法來(lái)進(jìn)行工作.這些方法包括兩大類:1.執(zhí)行命令,2.接收返回值cursor用來(lái)執(zhí)行命令的方法:callproc(self,procname,args):用來(lái)執(zhí)行存儲(chǔ)過程,接收的參數(shù)為存儲(chǔ)過程名和參數(shù)列表,返回值為受影響的行數(shù)execute(self,query,args):執(zhí)行單條sql語(yǔ)句,接收的參數(shù)為sql語(yǔ)句本身和使用的參數(shù)列表,返回值為受影響的行數(shù)executemany(self,query,args):執(zhí)行單挑sql語(yǔ)句,但是重復(fù)執(zhí)行參數(shù)列表里的參數(shù),返回值為受影響的行數(shù)nextset(self):移動(dòng)到下一個(gè)結(jié)果集cursor用來(lái)接收返回值的方法:fetchall(self):接收全部的返回結(jié)果行.fetchmany(self,size=None):接收size條返回結(jié)果行.如果size的值大于返回的結(jié)果行的數(shù)量,則會(huì)返回cursor.arraysize條數(shù)據(jù).fetchone(self):返回一條結(jié)果行.scroll(self,value,mode=’relative’):移動(dòng)指針到某一行.如果mode=’relative’神寬,則表示從當(dāng)前所在行移動(dòng)value條,如果mode=’absolute’,則表示從結(jié)果集的之一行移動(dòng)value條.下面的代碼是一個(gè)完整的例子.#使用sql語(yǔ)句,這里要接收的參數(shù)都用%s占位符.要注意的是,無(wú)論你要插入的數(shù)據(jù)是什么類型,占位符永遠(yuǎn)都要用%ssql=”insertintocdinfovalues(%s,%s,%s,%s,%s)”#param應(yīng)該為tuple或者listparam=(title,singer,imgurl,url,alpha)#執(zhí)行,如果成功,n的值為1n=cursor.execute(sql,param)#再來(lái)執(zhí)行一個(gè)查詢的操作cursor.execute(“select*fromcdinfo”)#我們使用了fetchall這個(gè)方法.這樣,cds里保存的將會(huì)是查詢返回的全部結(jié)果.每條結(jié)果都是一個(gè)tuple類型的數(shù)據(jù),這些tuple組成了一個(gè)tuplecds=cursor.fetchall()#因?yàn)槭莟uple,所以可以這樣使用結(jié)果集printcds#或者直接顯示出來(lái),看看結(jié)果集的真實(shí)樣子printcds#如果需要批量的插入數(shù)據(jù),就這樣做sql=”insertintocdinfovalues(0,%s,%s,%s,%s,%s)”#每個(gè)值的為一個(gè)tuple,整個(gè)參數(shù)集組成一個(gè)tuple,或者listparam=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))#使用executemany方法來(lái)批量的插入數(shù)據(jù).這真是一個(gè)很酷的方法!n=cursor.executemany(sql,param)需要注意的是(或者說(shuō)是我感到奇怪的是),在執(zhí)行完插入或刪除或修改操作后,需要調(diào)用一下conn.commit()方法進(jìn)行提交.這樣,數(shù)據(jù)才會(huì)真正保存在數(shù)據(jù)庫(kù)中.我不清楚是否是我的mysql設(shè)置問題,總之,今天我在一開始使用的時(shí)候,如果不用commit,那數(shù)據(jù)就不會(huì)保留在數(shù)據(jù)庫(kù)中,但是,數(shù)據(jù)確實(shí)在數(shù)據(jù)庫(kù)呆過.因?yàn)樽詣?dòng)編號(hào)進(jìn)行了累積,而且返回的受影響的行數(shù)并不為0.4、關(guān)閉數(shù)據(jù)庫(kù)連接需要分別的關(guān)閉指針對(duì)象和連接對(duì)象.他們有名字相同的方法cursor.close()conn.close()5、5編碼(防止亂碼)需要注意的點(diǎn):1Python文件設(shè)置編碼utf-8(文件前面加上#encoding=utf-8)2MySQL數(shù)據(jù)庫(kù)charset=utf-8ython連接MySQL是加上參數(shù)charset=utf84設(shè)置Python的默認(rèn)編碼為utf-8(sys.setdefaultencoding(utf-8)#encoding=utf-8importsysimportMySQLdbreload(sys)sys.setdefaultencoding(‘utf-8′)db=MySQLdb.connect(user=’root’,charset=’utf8′)注:MySQL的配置文件設(shè)置也必須配置成utf86.模塊功能演示#!/usr/bin/pythonimportMySQLdbCon=MySQLdb.connect(host=’localhost’,user=’root’,passwd=’root’,db=’abc’)cursor=con.cursor()sql=”select*frommyt”cursor.execute(sql)row=cursor.fetchone()printrowcursor.close()con.close()執(zhí)行以下SQL語(yǔ)句獲取返回值://獲取連接的游標(biāo)cursor=conn.cursor()//查詢sql=”select*from【table】”//新增sql=”insertinto【table】(字段,字段)values(值,值)”//修改sql=”update【table】set字段=‘值’where條件”//刪除sql=”deletefrom【table】where條件”cursor.execute(sql)返回值cur.execute(‘select*fromtables’)其返回值為SQL語(yǔ)句得到的行數(shù),如:2L,表示2行。然后,可以從該對(duì)象的fetchone或fetchall方法得到行信息。獲取行信息指針對(duì)象的fetchone()方法,是每次得到一行的tuple返回值:引用>>>row=cur.fetchone()>>>printrow(‘user1′,’52c69e3ac4e69d3f2e’,1000L,1000L,’/home/FTP/user1′,”)指針對(duì)象的fetchall()方法,可取出指針結(jié)果集中的所有行,返回的結(jié)果集一個(gè)元組(tuples):引用>>>cur.scroll(0,’absolute’)>>>row=cur.fetchall()>>>printrow((‘user1′,’52c69e3ac4e69d3f2e’,1000L,1000L,’/home/FTP/user1′,”),(‘user2′,’7e58d63b60197ceb55a1c487989a3720′,1000L,1000L,’/home/FTP/user2’,None))移動(dòng)指針當(dāng)使用fetchone()方法是,指針是會(huì)發(fā)生移動(dòng)的。所以,若不重置指針,那么使用fetchall的信息將只會(huì)包含指針后面的行內(nèi)容。手動(dòng)移動(dòng)指針使用:cur.scroll(int,parm)含義為:引用int:移動(dòng)的行數(shù),整數(shù);在相對(duì)模式下,正數(shù)向下移動(dòng),負(fù)值表示向上移動(dòng)。parm:移動(dòng)的模式,默認(rèn)是relative,相對(duì)模式;可接受absoulte,絕對(duì)模式。修改數(shù)據(jù)修改數(shù)據(jù),包括插入、更新、刪除。它們都是使用指針對(duì)象的execute()方法執(zhí)行:cur.execute(“insertintotable(row1,row2)values(‘111′,’222’)”)cur.execute(“updatetablesetrow1=’test’whererow2=’row2′”)cur.execute(“deletefromtablewhererow1=’row1′”)因單引號(hào)“’”用于SQL語(yǔ)句中的標(biāo)識(shí),所以,python中的字符串需使用雙引號(hào)括住。此外,也可以使用python的“格式化字符串”寫法,簡(jiǎn)化命令,例如:cur.execute(“updatetablesetrow1=’%s’whererow2=’%s'”%(‘value1′,’value2’))※請(qǐng)注意,’%s’的單引號(hào)是SQL語(yǔ)句的間隔符,’value1’的單引號(hào)是python的字符串間隔符,其含義是不同的。是否需要間隔符,以及使用雙引號(hào)還是單引號(hào)作為間隔,需根據(jù)其含義決定。例如,還有:cur.execute(“updateFTPUSERSsetpasswd=%swhereuserid=’%s'”%(“md5(‘123′)”,’user2’))這里,paswd=%s是因SQL的md5()函數(shù)是不需要單引號(hào)間隔的;”md5(‘123’)”是python的字符串中含有單引號(hào),所以用雙引號(hào)括住。提交修改一般情況下,MySQLdb模塊會(huì)自動(dòng)提交修改。但我們?cè)诟聰?shù)據(jù)后,手動(dòng)運(yùn)行一次:conn.commit()關(guān)閉數(shù)據(jù)庫(kù)連接需要分別的關(guān)閉指針對(duì)象和連接對(duì)象.他們有名字相同的方法cursor.close()conn.close()oneinstack添加數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于oneinstack添加數(shù)據(jù)庫(kù),使用OneinStack工具輕松添加數(shù)據(jù)庫(kù),oneinstack安裝好之后網(wǎng)站程序怎么上傳,如何使用python連接mysql數(shù)據(jù)庫(kù)的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)站題目:使用OneinStack工具輕松添加數(shù)據(jù)庫(kù)(oneinstack添加數(shù)據(jù)庫(kù))
URL地址:http://m.5511xx.com/article/dppdcgo.html


咨詢
建站咨詢
