分析 Log 內的特徵碼
與資料庫有關的語法
-- , %20-- , 'or'='or' ..... 等
星期五, 8月 21, 2015
mysql 错误 #2054 解决方案
刚从php5.2升级到5.4,mysql也同时升级了,用了几天都挺好的,今天早上突然phpmyadmin打不开了,提示错误
#2054 - The server requested authentication method umknown to the client
从网上搜索了一下解决方案,大概是说新版本php的mysql客户端使用的密码管理方式和以前有所不同 需要重新设置一下mysql的密码,因为以前的root密码已经不能使用,所以不能用传统的修改密码方式,而是直接重设密码:
1 首先修改mysql的配置文件my.cnf,设置任何用户登录都可以获得全部的权限
在[mysqld]的段中加上一句:skip-grant-tables 然后重启mysql
2 执行修改密码的sql:
#use mysql;
#UPDATE user SET Password = password ('new-password') WHERE User = 'root';
#flush privileges;
3 再次重启mysql,这下应该就好了
4. 刪掉 skip-grant-tables 的設定
資料來源 http://my.oschina.net/u/924639/blog/99802
星期四, 1月 09, 2014
調整IBM主機的 MaxKeepAliveRequests
今天發現主機很慢,但是 網路頻寬還沒用滿,網路上找了解決方式,請注意主機的效能是否足夠負擔。
找到 apache 設定檔 httpd.conf 調整以下設定
MaxKeepAliveRequests 系統預設值是 100
檢查連線數量用的指令
netstat -ant | grep :80 | wc -l
213
如果數量超過apache的設定(內定100)
就該考慮一下要不要增加apache 最大連線數並增加連線時間
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 5
改完之後感覺開啟網頁快很多了。
找到 apache 設定檔 httpd.conf 調整以下設定
MaxKeepAliveRequests 系統預設值是 100
檢查連線數量用的指令
netstat -ant | grep :80 | wc -l
213
如果數量超過apache的設定(內定100)
就該考慮一下要不要增加apache 最大連線數並增加連線時間
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 5
改完之後感覺開啟網頁快很多了。
星期六, 3月 16, 2013
重新設定 MySQL root 密碼
萬一不小心忘記了 MySQL 的 root 密碼,可以透過以下方法重新設定:
1. 停止 MySQL server。
# /etc/init.d/mysql stop
2. 啟動 MySQL server,並加上 –skip-grant-tables 參數,便可以略過輸入密碼的過程:
# mysqld_safe –skip-grant-tables &
3. 用 root 連接到 MySQL server,輸入:
mysql -u root
4. 進入 MySQL server 後,輸入以下幾行 SQL 語句:
mysql> use mysql;
mysql> update user set password=PASSWORD("newpass") where User=’root’;
mysql> flush privileges;
mysql> quit
5. 重新啟動 MySQL 即可。
1. 停止 MySQL server。
# /etc/init.d/mysql stop
2. 啟動 MySQL server,並加上 –skip-grant-tables 參數,便可以略過輸入密碼的過程:
# mysqld_safe –skip-grant-tables &
3. 用 root 連接到 MySQL server,輸入:
mysql -u root
4. 進入 MySQL server 後,輸入以下幾行 SQL 語句:
mysql> use mysql;
mysql> update user set password=PASSWORD("newpass") where User=’root’;
mysql> flush privileges;
mysql> quit
5. 重新啟動 MySQL 即可。
星期六, 8月 25, 2012
在MySQL裡讓中文依筆畫排序
為了因應多語系的網頁設計,在資料庫應用上都會採用UTF-8來做為資料編碼.不過UTF-8編碼的中文字卻不能依照中文字的筆劃來做排序.然而這個筆劃排序問題,在Big5編碼下是可以辦到的.
資料來源: http://calos-tw.blogspot.tw/2011/09/mysql.html
SELECT * FROM `user` ORDER BY CONVERT(`user_name` USING big5) DESC資料來源: http://calos-tw.blogspot.tw/2011/09/mysql.html
星期六, 11月 19, 2011
查詢SQL資料表中重複的資料有哪些??
SQL 語法為
SELECT 欄位 FROM 表格名稱 GROUP BY 欄位名稱 HAVING
範例:
SELECT email FROM `members` GROUP BY `email` HAVING count( * ) > 1
星期三, 9月 29, 2010
快速變更MYSQL資料庫表單編碼及取代欄位內的值
將欄位內容''yuanhong.dotzing.com.tw''取代成'www.chirodrhuang.com.tw',並使用WHERE 語法來更新指定的欄位。
語法
UPDATE 表格名稱 SET `欄位名稱` = REPLACE(`欄位名稱`, 'yuanhong.dotzing.com.tw', 'www.chirodrhuang.com.tw') WHERE`hid`='chirodrhuang'
範例
UPDATE webpage SET `content` = REPLACE(`content`, 'yuanhong.dotzing.com.tw', 'www.chirodrhuang.com.tw') WHERE`hid`='chirodrhuang'
轉換資料表及欄位內的編碼,SQL語法如下
ALTER TABLE `admin` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
MySQL 的 Replace 功能 資料來源 http://www.hkcode.com/programming/71
要對 MySQL 資料庫內的資料替換字串,可以借助 PHP 的 str_replace(),但這實在太麻煩了,其實MySQL 已內建了這個功能,以下語句可以將 [table] 資料表的 [field] 欄位作 replace 動作,[str_search] 是搜索字串;[str_replace] 是替換字串。
update [table] set [field]=replace([field],’[str_search]’,'[str_replace]’);
如果不想將整個資料表的欄位資料更換,可以在最後用 where 做條件選擇,例如:
update [table] set [field]=replace([field],’[str_search]’,'[str_replace]’) where `zip`=’852′;
以上語句跟第一句的分別是,第二句只會對欄位 “zip” 為 “852″ 的紀錄作更改。
語法
UPDATE 表格名稱 SET `欄位名稱` = REPLACE(`欄位名稱`, 'yuanhong.dotzing.com.tw', 'www.chirodrhuang.com.tw') WHERE`hid`='chirodrhuang'
範例
UPDATE webpage SET `content` = REPLACE(`content`, 'yuanhong.dotzing.com.tw', 'www.chirodrhuang.com.tw') WHERE`hid`='chirodrhuang'
轉換資料表及欄位內的編碼,SQL語法如下
ALTER TABLE `admin` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
MySQL 的 Replace 功能 資料來源 http://www.hkcode.com/programming/71
要對 MySQL 資料庫內的資料替換字串,可以借助 PHP 的 str_replace(),但這實在太麻煩了,其實MySQL 已內建了這個功能,以下語句可以將 [table] 資料表的 [field] 欄位作 replace 動作,[str_search] 是搜索字串;[str_replace] 是替換字串。
update [table] set [field]=replace([field],’[str_search]’,'[str_replace]’);
如果不想將整個資料表的欄位資料更換,可以在最後用 where 做條件選擇,例如:
update [table] set [field]=replace([field],’[str_search]’,'[str_replace]’) where `zip`=’852′;
以上語句跟第一句的分別是,第二句只會對欄位 “zip” 為 “852″ 的紀錄作更改。
訂閱:
文章 (Atom)