標題: Mysql 設定Login [打印本頁] 作者: IT_man 時間: 2015-6-21 23:10 標題: Mysql 設定Login 安裝完Mysql 後的設定 : * _( F) X6 \2 q★進一步設定 MySQL★ u2 ~$ m: g# R8 T% P
A. ' u0 ?0 d& {$ |設定php.ini(/etc/php.ini)+ g' ]: d$ o; F% Q2 n& \7 K
php.ini , f, m, P, m3 Q N( R- v1 H5 H) ~1 memory_limit = 128M //PHP可用記憶體上限 b+ T j h4 L$ \0 ]
2 display_errors = Off //顯示錯誤訊息! h/ ?" \* K) @
3 date.timezone = Asia/Taipei //時區(這行要設定,不然PHP使用到時間函數時會有錯誤訊息)! ^" N: `/ F A
4 session.cookie_lifetime = 0 //session存活時間(單位秒,0代表存活至瀏覽器關閉) d9 k; E+ B. g2 A; g& N% _
, _0 S. K+ h4 g' y* Y8 P6 f
B.1 ?5 \' p2 {- D# k6 k
設定my.cnf(/etc/my.cnf)8 _, {3 i9 d/ }
my.cnf : 8 V, i' Z# k$ b0 N, d3 F
1 log-error=/var/log/mysqld.log //日誌存放位置* e* l E$ I( o. B. E+ X
2 connect_timeout = 15 //連線timeout% m! \& W+ m& }
3 max_connections = 3000 //最大連線數 / U& _3 j1 q. i# ^4. service mysqld restart 1 A$ m/ G. `; C3 ^; s2 r) {+ k+ H" r# H
, z8 F2 S& ~; v* M: C
C.1 o7 K2 t1 q. H/ L" |& c' Y
設定 MySQL 資料庫管理者 root 帳戶的密碼,執行「sudo mysql_secure_installation」,他會問你底下幾件事 ) A2 P% P+ Y* Z+ ]* O; G1 G" l8 K1. Enter current password for root (enter for none): // 直接按 Enter,因為預設沒密碼 $ T; x( W5 P5 o; F2. Set root password? [Y/n] //輸入 Y 來設定密碼 * W5 i$ [, O6 Y# o& x3. New password: // 輸入 root 新密碼: b$ r% w4 p7 S5 q/ B' C5 q0 x3 G
4. Re-enter new password: // 再一次輸入 root 新密碼7 A( f' K: i. P4 F
5. Remove anonymous users? [Y/n] //預設 Yes ,直接按 Enter $ K/ \% ?( n+ j' w2 p) ]6. Disallow root login remotely? [Y/n] //預設 Yes ,直接按 Enter) u8 ?; {0 S2 {9 f9 o
7. Remove test database and access to it? [Y/n] //預設 Yes ,直接按 Enter ) K; v1 S" o. l) W+ G8. Reload privilege tables now? [Y/n] //預設 Yes ,直接按 Enter1 ]9 H4 V: N0 e7 Y+ y9 L
* g" d% ^0 T5 L0 d" l
' B* x, B* x9 J" _% p- k$ L! i( E n
接著利用剛剛設定的 root 密碼登入 MySQL,執行「sudo mysql -u root -p」,密碼正確就會進入「mysql>」這樣的提示符號。「參考」 & S6 @" h: g( f: Y Q0 J※ 執行選擇要用那個資料庫: ~5 c# y9 N, h+ T' s
mysql> use mysql K3 I" P: l7 x
/ N& S1 @. c, y R8 s9 U7 w& H% w9 L※ 執行「select host,user from user ;」要有分號結尾才會執行。6 b, b) B6 r) i1 m# K: b
mysql> select host,user from user ;4 V9 c. t3 n: s: _% m# S- h
+-----------+------+$ s8 O, [! O/ @+ N% b
| host | user | ( n0 [- H* d. A0 N z+-----------+------+- X5 Y t9 n6 d/ K8 i
| 127.0.0.1 | root | # i) ^5 `' w1 c u; ]| localhost | root | * j/ g& J/ m3 L- Z) Z+-----------+------+ s- j% F j; S, t% j) S
2 rows in set (0.00 sec)- ^/ z) z/ L8 |2 d
7 l5 z; \. E* }/ g! e※ 新增一個使用者 2 ?3 r2 o" X& [+ z$ P6 C7 l, t" s/ finsert into user (host,user,password) values ('%','your_account',password('your_password')); 8 `& a& u6 z) ^/ C5 ]4 X9 |( q+ |# O w
※授與該使用者管理者權限,這樣你才能有辦法遠端處理 (因為 root 的遠端登入被停掉了) : x) Z# G- `# F8 v" {5 GGRANT ALL ON *.* TO 'your_account'@140.112.1.1 IDENTIFIED BY 'your_password' WITH GRANT OPTION;* X0 }4 F, R/ Y
不然剛剛那個帳號,只會是一般資料庫使用者的帳號,而且沒任何權限。2 L: z+ Q; |' f* O5 a
※讓剛剛的設定生效( r: Q5 a. _+ ^6 [) s; s/ D1 i
FLUSH PRIVILEGES; 0 m8 P4 D- L% x( k5 M! ^3 u安裝完Phpmyadmin 時 ,run http://www.domain.com/dbadmin show error : The mbstring extension is missing. Please check your PHP configuration. Y# i3 H* C. U# X0 \5 j/ P1 P請安裝 ( n& O% v2 k# ?( b 3 ^6 B* N( o- d3 j$ M
yum -y install php-mbstring + R) d$ p6 A9 Z/ y( G* y! P( G- Y : Z& d1 s# c3 M# r% ?若出現缺少『mcrypt』,請安裝 6 d& H- a% k' e1 q, W9 ^. p$ \ 5 U$ c: _4 j. |7 r- e" V W' z8 u
yum -y install mcrypt: D: t* Q; v. `3 f) G8 ~* O( p1 d
service nginx restart1 B5 I( m1 i: L- G" F
Login phpadmin 後出現 error:缺少 mysqli 擴充套件。請檢查 PHP 設定。Solution: 3 U( y* {: h6 T( yphp -m | grep mysqli ===> confirm mysqli module is installed 9 K) D" s1 T# ]5 U- O" x. ophp -i | grep extension_dir ===> 尋找延伸目錄8 h# `0 L8 _$ |/ J l" G' h% t
yum -y install php-mysql (或 yum install php5-mysqli) ===> ok* Y2 ^/ u1 G) P' {% y1 ^ 缺少 mcrypt 擴充套件。請檢查 PHP 設定。, b5 F) _0 W4 p8 a9 R& y) d# U
yum install php-mcrypt2 I9 r" b( ~/ y$ P
yum install libmcrypt libmcrypt-devel ===> ok7 e; Y3 O6 ] K3 D
* e1 H0 ?/ n' }/ J0 w1 I