本文目錄一覽:
- 1、mysql 代碼注釋 用什麼標記
- 2、求PHP對MYSQL的簡單操作代碼!
- 3、MySQL與Redis數據庫連接池介紹(圖示+源碼+代碼演示)
- 4、MySQL 錯誤代碼 1045
- 5、linux mysql服務的重啟命令和停止命令
mysql 代碼注釋 用什麼標記
我也是剛開始學mysql,下面是我從網上找到的,我剛才試過了,可以,
我的是mysql5.0的
mysql
服務器支持
#
到該行結束、–
到該行結束
以及
/*
行中間或多個行
*/
的注釋方格:
mysql
SELECT
1+1;
#
這個注釋直到該行結束
mysql
SELECT
1+1;
—
這個注釋直到該行結束
mysql
SELECT
1
/*
這是一個在行中間的注釋
*/
+
1;
mysql
SELECT
1+
/*
這是一個
多行注釋的形式
*/
1;
注意
—
(雙長劃)
注釋風格要求在兩個長劃後至少有一個空格!
儘管服務器理解剛才描述的注釋句法,但
MySQL
客戶端的語法分析在
/*
…
*/
注釋方式上還有所限止:
單引號和雙引號被用來標誌一個被引用字符串的開始,即使是在一個注釋中。如果注釋中的引號沒有另一個引號與之配對,那和語法分析程序就不會認為注釋結束。如果你以交互式運行
mysql,你會產生困惑,因為提示符從
mysql
變為
‘
或
“。
求PHP對MYSQL的簡單操作代碼!
?php
$db=mysql_connect(“host”,”dbuser”,”password”); //連接數據庫服務器
mysql_select_db(“dbname”,$db); //選擇數據庫
mysql_query(“set names gbk”); //統一字符集
//查詢示例:
$sql=”select * from tablename where condition”; //構造查詢語句
$result=mysql_query($sql,$db); //在先前選中的數據庫中執行查詢操作
//從查詢結果集中取一行輸出,直至所有行輸出完畢
while($myrow=mysql_fetch_array($result))
{
print_r($myrow);
}
//插入示例:
$sql=”insert into tablename values (‘field1′,’field2’,…….)”; //構造插入語句
$result=mysql_query($sql,$db); //執行插入
if ($result)
{
echo “插入成功!”;
exit;
}
else
{
echo “插入失敗!”;
exit;
}
//修改、刪除都是類似的,不再嚕嗦
?
MySQL與Redis數據庫連接池介紹(圖示+源碼+代碼演示)
數據庫連接池(Connection pooling)是程序啟動時建立足夠的數據庫連接,並將這些連接組成一個連接池,由程序動態地對池中的連接進行申請,使用,釋放。
簡單的說:創建數據庫連接是一個很耗時的操作,也容易對數據庫造成安全隱患。所以,在程序初始化的時候,集中創建多個數據庫連接,並把他們集中管理,供程序使用,可以保證較快的數據庫讀寫速度,還更加安全可靠。
不使用數據庫連接池
如果不使用數據庫連接池,對於每一次SQL操作,都要走一遍下面完整的流程:
1.TCP建立連接的三次握手(客戶端與 MySQL服務器的連接基於TCP協議)
2.MySQL認證的三次我收
3.真正的SQL執行
4.MySQL的關閉
5.TCP的四次握手關閉
可以看出來,為了執行一條SQL,需要進行大量的初始化與關閉操作
使用數據庫連接池
如果使用數據庫連接池,那麼會 事先申請(初始化)好 相關的數據庫連接,然後在之後的SQL操作中會復用這些數據庫連接,操作結束之後數據庫也不會斷開連接,而是將數據庫對象放回到數據庫連接池中
資源重用:由於數據庫連接得到重用,避免了頻繁的創建、釋放連接引起的性能開銷,在減少系統消耗的基礎上,另一方面也增進了系統運行環境的平穩性(減少內存碎片以及數據庫臨時進程/線程的數量)。
更快的系統響應速度:數據庫連接池在初始化過程中,往往已經創建了若干數據庫連接置於池中備用。 此時連接的初始化工作均已完成。對於業務請求處理而言,直接利用現有可用連接,避免了從數據庫連接初始化和釋放過程的開銷,從而縮減了系統整體響應時間。
統一的連接管理,避免數據庫連接泄露:在較為完備的數據庫連接池實現中,可根據預先的連接佔用超時設定,強制收回被佔用連接。從而避免了常規數據庫連接操作中可能出現的資源泄露。
如果說你的服務器CPU是4核i7的,連接池大小應該為((4*2)+1)=9
相關視頻推薦
90分鐘搞懂數據庫連接池技術|linux後台開發
《tcp/ip詳解卷一》: 150行代碼拉開協議棧實現的篇章
學習地址:C/C++Linux服務器開發/後台架構師【零聲教育】-學習視頻教程-騰訊課堂
需要C/C++ Linux服務器架構師學習資料加qun 812855908 獲取(資料包括 C/C++,Linux,golang技術,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協程,DPDK,ffmpeg 等),免費分享
源碼下載
下載方式:(Github中下載)
db_pool目錄下有兩個目錄,mysql_pool目錄為MySQL連接池代碼,redis_pool為redis連接池代碼
下面介紹mysql_pool
CDBConn解析
概念: 代表一個數據連接對象實例
相關成員:
m_pDBPool:該數據庫連接對象所屬的數據庫連接池
構造函數: 綁定自己所屬於哪個數據庫連接池
Init()函數: 創建數據庫連接句柄
CDBPool解析
概念:代表一個數據庫連接池
相關成員:
Init()函數:常見指定數量的數據庫實例句柄,然後添加到m_free_list中,供後面使用
GetDBConn()函數: 用於從空閑隊列中返回可以使用的數據庫連接句柄
RelDBConn()函數: 程序使用完該數據庫句柄之後,將句柄放回到空閑隊列中
測試之前,將代碼中的數據庫地址、端口、賬號密碼等改為自己的(代碼中有好幾處)
進入MySQL, 創建mysql_pool_test數據庫
進入到mysql_pool目錄下, 創建一個build目錄並進入 :
然後輸入如下的命令進行編譯
之後就會在目錄下生成如下的可執行文件
輸入如下兩條命令進行測試: 可以看到不使用數據庫連接池,整個操作耗時4秒左右;使用連接池之後,整個操作耗時2秒左右,提升了一倍
源碼下載
下面介紹redis_pool
測試
進入到redis_pool目錄下, 創建一個build目錄並進入 :
然後輸入如下的命令進行編譯
之後就會在目錄下生成如下的可執行文件
輸入如下的命令進行測試: 可以看到不使用數據庫連接池,整個操作耗時182ms;使用連接池之後,整個操作耗時21ms,提升了很多
進入redis,可以看到我們新建的key:
MySQL 錯誤代碼 1045
錯誤代碼 1045
Access denied for user ‘root’@’localhost’ (using password:YES)
解決辦法是重新設置root用戶密碼,在Windows平台下操作步驟如下:
1、以系統管理員身份登錄到系統;
2、如果MySQL服務器正在運行,停止它。
如果是作為Windows服務運行的服務器,進入服務管理器:開始菜單-控制面板-管理工具-服務
如果服務器不是作為服務而運行的,可能需要使用任務管理器來強制停止它。
3、創建1個文本文件,並將下述命令置於單一行中:
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPassword’);
用任意名稱保存該文件。在本例中,該文件為C:\mysql-init.txt。
4、進入DOS命令提示:開始菜單-運行- cmd
假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。
在DOS命令提示符下,執行命令:
C:\ C:\mysql\bin\mysqld-nt –init-file=C:\mysql-init.txt
在服務器啟動時,執行由“–init-file”選項(作用:在啟動時從指定的文件中讀取SQL命令)命名的文件的內容,更改根用戶密碼。當服務器成功啟動後,應刪除C:\mysql-init.txt。
5、停止MySQL服務器,然後在正常模式下重啟它。如果以服務方式運行服務器,應從Windows服務窗口啟動它。如果以手動方式啟動了服務器,能夠像正常情形下一樣使用命令。
應能使用新密碼進行連接。
linux mysql服務的重啟命令和停止命令
在Debian/Ubuntu系的Linux系統上,mysql的服務名是mysql,重啟服務應該用 service mysql restart
在RHEL/CentOS系的Linux系統上,mysql的服務名是mysqld,重啟服務應該用 service mysqld restart
如果你的課本是基於一個系統來講的,start和restart使用的服務名應該是一樣的,要麼都是mysql要麼都是mysqld。
看書+實踐才能學會Linux,命令敲上一試就都清楚了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/198426.html