安裝完Mysql 後的設定 :2 U1 E- F( n# k5 r4 s+ Y# X# U+ B
★進一步設定 MySQL★
2 S2 m! U+ p% n% fA., l! P2 s$ g: P% Q. T+ D& @
設定php.ini(/etc/php.ini)
7 D z8 b" P$ Vphp.ini8 p( d. C+ @, Z3 d* F3 A+ }
1 memory_limit = 128M //PHP可用記憶體上限+ G$ W' ~0 U+ S' j, q
2 display_errors = Off //顯示錯誤訊息
+ d1 h) Q' ]# l$ ?) d3 date.timezone = Asia/Taipei //時區(這行要設定,不然PHP使用到時間函數時會有錯誤訊息)
, u1 `0 L1 Q* h" l1 h/ u4 session.cookie_lifetime = 0 //session存活時間(單位秒,0代表存活至瀏覽器關閉)5 a+ k% O+ k' B. ]
1 D p% o. B& K9 ^2 M9 m9 X- `8 h4 \2 b
B.9 {( I& r# v: [# I$ F# ?& ^
設定my.cnf(/etc/my.cnf), N6 i) o7 M1 s8 n
my.cnf :
$ U$ S- F3 K; x/ F/ e1 log-error=/var/log/mysqld.log //日誌存放位置9 L: G* d2 ~9 F/ F, p: g! C# x
2 connect_timeout = 15 //連線timeout
: ^' q1 a" l5 R3 max_connections = 3000 //最大連線數
2 C6 @) v6 L5 M! r4. service mysqld restart
2 V2 t' ~0 C3 Z/ {4 t& a3 B: G( k, p# E+ m
G- U, _" {# n# fC.3 V( i" q7 e/ Y! J
設定 MySQL 資料庫管理者 root 帳戶的密碼,執行「sudo mysql_secure_installation」,他會問你底下幾件事
( m( [! y% s+ L) O. G0 G1. Enter current password for root (enter for none): // 直接按 Enter,因為預設沒密碼7 {* A8 Z% F; c) k8 Y9 m
2. Set root password? [Y/n] //輸入 Y 來設定密碼# q g# O, n0 H) g' M
3. New password: // 輸入 root 新密碼2 Q* M+ }' D# z/ ?7 }( s
4. Re-enter new password: // 再一次輸入 root 新密碼: Q, {" O% j' } ~8 i
5. Remove anonymous users? [Y/n] //預設 Yes ,直接按 Enter q O5 Q7 f/ T5 ~2 E
6. Disallow root login remotely? [Y/n] //預設 Yes ,直接按 Enter
. o4 Z- \8 z- x2 T/ ?# L7. Remove test database and access to it? [Y/n] //預設 Yes ,直接按 Enter
/ h7 ^- y# e& K3 f& M O9 c8. Reload privilege tables now? [Y/n] //預設 Yes ,直接按 Enter
/ a8 N2 B2 J: K: ?! d1 t8 D I, `! h
/ b* i1 a* S7 \# F& P+ \. Q7 @+ R
3 R; v% `- p5 U, L% d, |% O/ n接著利用剛剛設定的 root 密碼登入 MySQL,執行「sudo mysql -u root -p」,密碼正確就會進入「mysql>」這樣的提示符號。「參考」
' g/ V/ z- J# |※ 執行選擇要用那個資料庫
1 }3 r' @4 P6 \* I) Bmysql> use mysql
- }$ I9 n: L9 j/ `6 }; G) @$ l" |# G
9 a9 W7 O# [) a0 ^. l※ 執行「select host,user from user ;」要有分號結尾才會執行。
# U6 k& s X8 |+ v& j/ `3 gmysql> select host,user from user ;
8 a# y' ~, G T, g9 f+-----------+------+
; p |$ G8 s8 y/ u0 r, n| host | user |
2 A2 O; @8 y- l2 f+-----------+------+) G* [, ]) V# r9 s8 _
| 127.0.0.1 | root |* X9 Q Z* d9 }3 ?1 U' X
| localhost | root |' j1 z) c# d) `
+-----------+------+
N* O2 [- [1 f2 K9 y7 B+ d8 Y2 rows in set (0.00 sec)' s8 ?, E/ o( I! g
$ y6 F9 h, a5 C5 {- @+ g3 O9 r
※ 新增一個使用者
0 r) b" Y2 G( [3 j5 Yinsert into user (host,user,password) values ('%','your_account',password('your_password'));
. Z! K* d! p$ C% i$ B. t B, N7 X2 K2 T9 t6 ? E; @' I) f2 M
※授與該使用者管理者權限,這樣你才能有辦法遠端處理 (因為 root 的遠端登入被停掉了) 6 {. }' x4 s; z: F- A5 G
GRANT ALL ON *.* TO 'your_account'@140.112.1.1 IDENTIFIED BY 'your_password' WITH GRANT OPTION;
4 Z. r. R- B* g# w/ w不然剛剛那個帳號,只會是一般資料庫使用者的帳號,而且沒任何權限。9 S/ ]. M, z1 p3 u/ G
※讓剛剛的設定生效9 Q9 A0 N# H' i) i2 \( n7 t3 K
FLUSH PRIVILEGES;- m- _& [; M ]. ]% C" d8 I
安裝完Phpmyadmin 時 ,run http://www.domain.com/dbadmin show error : The mbstring extension is missing. Please check your PHP configuration.
9 L$ O* Z4 Y- q5 b請安裝4 @! m0 c# _% q+ m2 ?- \
+ U% i5 a1 Y+ W0 r4 n3 N
yum -y install php-mbstring
" U& G* z+ [% X9 |, e4 Q- L3 _5 @7 A1 o: A2 D0 J
若出現缺少『mcrypt』,請安裝
/ @( M1 r" h2 {5 e1 K % X( `' C, C5 W+ D4 e5 y
yum -y install mcrypt
0 G$ G4 z- M% z8 c2 H0 i9 Zservice nginx restart
8 k6 b$ O# {. y* S7 Z. ~Login phpadmin 後出現 error:缺少 mysqli 擴充套件。請檢查 PHP 設定。Solution:
5 N& r" G9 ]; c6 mphp -m | grep mysqli ===> confirm mysqli module is installed
9 H/ s" l9 k, V6 ~2 |php -i | grep extension_dir ===> 尋找延伸目錄# \& N2 e2 t' Q5 B* p5 o; Y
yum -y install php-mysql (或 yum install php5-mysqli) ===> ok0 H1 N* n6 ^7 s: r( T7 W! Z
缺少 mcrypt 擴充套件。請檢查 PHP 設定。
& W* f) W$ ?1 ?& t2 v7 W7 `- y" Ryum install php-mcrypt+ x% t+ C7 g' u$ r- I3 W& I
yum install libmcrypt libmcrypt-devel ===> ok* T f7 H4 c- S8 o/ D1 U# W
* q# L/ e! J; C6 B' [$ ` H
1 Z: M6 ~# y$ y A& a6 | |
|