檢視 MySQL 的原始碼
←
MySQL
跳轉到:
導覽
、
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
您剛才的請求只有這個使用者組的使用者才能使用:
使用者
你可以檢視並複製本頁面的原始碼。
[[分類:應用軟體]] ==新舊版更迭== ===MySQLi=== [https://horace1123.pixnet.net/blog/post/26380544-mysqli函式 mysqli函式] ==跨伺服器叫用 MySQL== ===被叫用端設定=== #設定一個帳號: #*HOST 為允許叫用的 ip ,不能用域名或 server 網址。所有 ip 登入,Host設置為 '%' 。 #*設定帳號密碼,並以最保守的立場設定對諸資料表的權限。 #*flush privileges; #/etc/my.cnf中的相關設定: #*[mysqld]內新增一行:skip-name-resolve,關閉 MySQL DNS 反向解析。但伺服器會把在本機登入的使用者自動解析為'root'@'127.0.0.1';而不是'root'@'localhost';,如果權限表不合就會出問題。 #*[mysqld]內新增一行:lower_case_table_names=1,使MySQL忽略資料庫表名大小寫 #打開 3306 port 戰國策租賃主機不允許名外部叫用內部的 MySQL 。 ===檢測被叫用的伺服器=== #網路檢測: #*ping主機可以; #*telnet 主機3306端口不可以; #*telnet 主機22端口可以; #:跟伺服器沒關係 #端口檢測: #*netstat -ntpl |grep 3306 得到 「tcp 0 0 :::3306 :::* LISTEN -」 #*netstat -ntpl |grep 22 得到 「tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -」 #:22端口監聽所有地址,而3306只監聽本機地址(綁定了到了本地),所以遠程無法訪問。修改my.cnf 中bind-address=0.0.0.0<br/>對於端口只允許本機訪問,有兩個相關設定,一個是防火牆擋3306,一個就是mysql配置綁定本機地址。 #防火牆檢測: #*iptables --list查看; #*開啟防火牆3306端口:在 iptables 中加「-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT」,防火牆允許3306端口通過。 #*或者直接關閉防火牆; #mysql配置文件檢查: #*my.cnf的配置,bind-address=addr可以配置綁定ip地址。不配置或者IP配置為0.0.0.0,表示監聽所有客戶端連接。 #*#ps -aux | grep mysql 查看進程ID是3340 #*#ll /proc/3340 查看進程程序情況,找配置文件 #*或以 which mysql 找程序路徑 ===叫用端設定=== DB::connect("mysql://帳號:密碼@被叫用伺服器:3306/資料庫名"); ==資料無法匯入資料庫== ===從sql_mode解決問題=== 步驟: #從adminer登入 #點選「變數」 #查看「sql_mode」的值 #*5.7.8版本裡的MySQL,默認了「sql_mode」幾項功能,包含: #*# STRICT_TRANS_TABLES #*# NO_AUTO_CREATE_USER #*# NO_ZER0_DATE #*# NO_ZERO_IN_DATE #*# NO_ENGINE_SUBSTITUTION #*# ONLY_FULL_GROUP_BY #*# ERROR_FOR_DIVISION_BY_ZERO #從PHP裡修改<br/>
返回到
MySQL
。
導航
個人工具
登入
名字空間
頁面
討論
變換
檢視
閱讀
檢視原始碼
檢視歷史
動作
搜尋
導覽
首頁
近期變動
隨機頁面
使用說明
工具箱
連入頁面
相關頁面修訂記錄
特殊頁面
頁面資訊