mysql 遠端登入與表名大小寫問題

2022-07-20 21:39:13 字數 990 閱讀 4583

好久沒寫部落格了,這段時間在學習乙個開源的專案,裡面使用到了mysql,好久沒使用mysql了。在使用過程中遇到了乙個問題,遠端登陸。報錯資訊很明顯,連線失敗。解決思路如下:

1. 首先檢查到伺服器網路是否可達,發現並沒有什麼問題。

2. 檢視使用者名稱密碼是否正確,通過在伺服器上面登陸檢視也沒有問題。

3. 檢查mysql服務是否啟動,埠是否正確: ps -aux|grep "mysql"    netstat -apn|grep "3306",並檢查配置檔案中的鏈結是否正確,一切正常。

4. 檢視選擇的使用者是否支援遠端登入。select * from mysql.user\g; 經過查證work使用者的host值為%萬用字元,也沒有問題。

這就比較蛋疼了,檢視mysql的配置檔案 vim /etc/mysql/mysql.conf.d/mysqld.cnf 發現配置檔案中存在繫結屬性bind-address=127.0.0.1,首先解釋一下這個引數的含義: 此引數主要是配置mysql的監控ip具體的取值如下:

*接收所有的ipv4 或 ipv6 連線請求

0.0.0.0

接受所有的ipv4位址

::接受所有的ipv4 或 ipv6 位址

接受所有的ipv4位址或ipv4邦定格式的位址(例 ::ffff:127.0.0.1)

ipv4(ipv6)

只接受對應的ipv4(ipv6)位址

看來問題就出現在這了,如果此值為localhost,那麼mysql就只能接受本地訪問,至於遠端訪問的請求就無法接受了,所以我們索性把這一行給注釋掉,一切ok。(注意: 如果在生產環境上面必須設定為指定ip,否則任何人都可以訪問,勢必會產生不必要的危險)

問題二: 在執行時出現了另外乙個錯誤,table not exist,但是檢視表時確實存在,索性將**中的表名(大寫) 放到終端進行查詢,還是出現table not exist錯誤。修改配置檔案中lower_case_table_names引數為1即可,具體分析參見部落格 。

如有不當,請批評指正,謝謝!

MySQL 表名大小寫問題

資料庫名與表名的規則相同 列名 索引 儲存過程 觸發器名在任何平台都不區分大小寫。檢視資料庫大小寫敏感設定 show variables like lower case table names 取值及含義 0 表名按照指定的大小寫儲存,查詢的時候區分大小寫 1 表名儲存小寫,查詢的時候都轉成小寫查詢...

MySql表名的大小寫問題

mysql在linux下資料庫名 表名 列名 別名大小寫規則是這樣的 1 資料庫名與表名是嚴格區分大小寫的 2 表的別名是嚴格區分大小寫的 3 列名與列的別名在所有的情況下均是忽略大小寫的 4 變數名也是嚴格區分大小寫的 mysql在windows下都不區分大小寫。所以在不同作業系統中為了能使程式和...

MySQL表名大小寫的問題

問題現象 在windows系統中,有乙個mysql資料庫要遷移到linux系統中。在linux系統中安裝好了mysql之後,使用預設配置可以啟動資料庫。把windows系統中的mysql資料庫匯入之後,發現應用程式讀取不到資料,找不到表。使用show tables命令檢視,發現在windows系統中...