mysql保留關鍵字導致的語法錯誤

在一個新的mysql環境執行原來的程序,提示語法錯誤,經查看發現環境的mysql版本是mysql8,groups一詞在mysql8.0.2起成了保留關鍵字,暫時用`groups`寫法代替,後續還是應該注意避免,這種坑洞也是防不勝防。

You have an error in your SQL syntax...

官方文件:https://dev.mysql.com/doc/refman/8.0/en/keywords.html

Mysql列轉行group_concat函數

MySQL中group_concat函數可以將分組的指定欄位合併成一行內容,用來作列轉行比較適合。

完整的語法如下:

group_concat([DISTINCT] 要連接的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔符號'])

預設分隔符號為英文逗號

範例:

select id,group_concat(distinct name) from table group by id;  

需要注意的是合併後欄位長度有預設限制


參考:

HTTPS://嗚嗚嗚.ITeye.com/blog/號稱沒說過-555543

HTTP://嗚嗚嗚.媽咪code.com/info-detail-1389878.HTML

HTTPS://嗚嗚嗚.cn blog上.com/放入Anson-2016/怕/6911631.HTML

HTTPS://嗚嗚嗚.cn blog上.com/瀏覽器1214/怕/11202866.HTML

mysql連接資料庫localhost比127.0.0.1慢的問題

在php+mysql的開發過程中,連接資料庫的主機名稱填寫時,本機一般可以用localhost或127.0.0.1,實際應用過程中,Linux系統目前還沒發現過異常,但在Windows server系統中,有的時候寫localhost,網頁反應就會出現比較慢的情況,一般一頁都需要1秒以上,一步步對程式運行時間判斷,發現是mysql連線時候的問題,建立一個連線需要將近1秒,必然是有問題的,搜尋之,發現確實存在這個情況,很多程式設計師部落格都有反應,摘抄記錄如下:

HTTP://blog.斯納.com.才能/是/blog_6成本5啊76發0100一幅畫哦.HTML

最近發現程式反應時間有點慢,於是逐漸的排除,計算每段程式執行的時間,最後發現時間損耗都花在了連結資料庫上,資料庫連結也沒有什麼好的辦法,於是便放下它了。

隔天,我測試一下資料庫的遠端鏈接,發現我用IP訪問資料庫的執行時間很短要遠遠小於我在本地用localhost連接資料庫。於是便有了下面一段測驗:

解決mysql資料導入導出提示secure-file-priv option問題

Mysql資料庫從檔案匯入或匯出到文件,提示The MySQL server is running with the --secure-file-priv option so it cannot execute this statement ,原因及解決方法如下:

一些版本的mysql對透過檔案導入導出作了限制,預設不允許,

查看配置,執行mysql指令

SHOW VARIABLES LIKE "secure_file_priv";

如果value值為null,則為禁止,如果有資料夾目錄,則只允許改目錄下檔案(測試子目錄也不行),如果為空,則不限制目錄;

修改配置可修改mysql配置文件,查看是否有

secure_file_priv =

這樣一行內容,如果沒有,手動添加,

secure_file_priv = /home

表示限制為/home資料夾

sql中的多行合併函數collect_set、collect_list 、concat_ws

從資料庫取N個字段,然後組合到一起用“,”分割顯示,起初想到用CONCAT()來處理,好是麻煩,沒想到在手冊裡居然有提到CONCAT_WS(),非常好用。

CONCAT_WS(separator, str1, str2,...)

它是一個特殊形式的CONCAT(),第一個參數剩餘參數間的分隔符,分隔符可以是與剩餘參數一樣的字串,如果分隔符號是NULL,則回傳值也會為NULL,這個函數會跳過分隔符號參數後的任何NULL 和空字串,分隔符號將會被加到被連接的字串之間。

簡單例子如下:

圖形資料庫Neo4j安裝過程記錄

Neo4j是一種高效能的NOSQL圖形資料庫,它將結構化資料儲存在網路上而不是表中。

本次安裝在阿里雲centos7上操作,大概過程如下,謹此記錄:

安裝包下載網址 https://neo4j.com/download-center/#community 社群版

下載伺服器在國外,用國內機器下載速度極慢,速度大概20KB/s,安裝包100M+,可以找個國外vps中轉一下;

tar -zxvf 解壓縮到存放目的路徑,cd進入;

目前Neo4j版本為4.1.2,啟動要求安裝Java11,如果已有的話直接./bin/neo4j start後台啟動,或./bin/neo4j console指令格式;

遠端透過瀏覽器操作,需修改設定檔conf/neo4j.conf,將dbms.connectors.default_listen_address=0.0.0.0一行前的#去掉,儲存,重新啟動neo4j;

防火牆開放7474、7687端口,瀏覽器訪問http://ip:7474即可,使用者名稱密碼預設為neo4j,首次登陸強制改密碼;

升級Java11:

卸載舊版本:

訂閱@標題