52AV手機A片王|52AV.ONE

用戶名  找回密碼
 立即註冊
快捷導航
  • 我愛av論壇BBS
  • 手機A片
  • 自拍偷拍外流區
  • 貼圖區
  • 52av裸聊室
  • 中文-中國主播

     
查看: 14956|回復: 0
打印 上一主題 下一主題

[mysql] mysqld 升級到8以上遇到的問題

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2021-3-14 13:06:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

(1)( R( ~3 m& _4 r4 X5 k1 C4 H) [" ^
php連到mysql出現2行errors : (discuz網頁出現的是連接到mysql錯誤表格,需自行寫一隻連接mysql的php程式來測試)/ z/ z6 v# s9 v" X2 f3 S

* x* c4 N. W( p$ ~# qmysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers- @$ ^$ z0 g- |" T
mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers
$ M* E  g+ M0 P) h, q, Z; z& p原因:
1 h3 K+ x5 _9 r. J0 j8 a( g( W( Q
在MySQL 8.0.21中,caching_sha2_password是默認的身份驗證插件,而不是以往的mysql_native_password。所以和php不相容。可以降級php,也可以修改MySQL的配置。 吾人決定修改MySQL的配置:: Y, R9 K" u0 m5 A, {( h& g7 r
vi /etc/my.cnf  加入下列:9 m  Y" |" x0 s/ I! T6 ^
[mysqld]+ R, H! w  j# ~) i. `) A
- b; a% f/ l$ ~  k( H
character-set-server=utf86 S" e6 x5 ?& |  E& ]1 K( S
default_authentication_plugin=mysql_native_password) q% ?6 m/ v3 P* ]- u' ]
validate_password.policy=LOW
  T/ _$ q9 d. h! z7 ?/ D% W. |. Y
[mysql]" @+ r* |8 Y+ H$ |( A. r7 A
default-character-set=utf8$ d+ {" U9 ~& \: ~+ s/ s# g) C8 `

5 @$ j. N+ |* n( D$ M  h$ T5 u. r[client]* T0 f& t% x! l. Q; T
default-character-set=utf8) Z0 c; \- F3 X8 v& s* }
8 w" J& v1 S9 o
然後重啟mysqld+ Q- }! T" Z0 T! ]1 M+ ?' Q
service mysqld restart

) `6 M, t! \4 b- ]
' p9 |7 w% z2 H0 l' n& @
重啟後可能須做下列動作:
7 G* l6 `* E* _8 y% X# e9 @3 W- Zmysql -u roor -p  * y4 [6 c1 h" o- a
SHOW VARIABLES LIKE 'validate_password%';) o) ]0 l: s$ A" h/ ?+ ?" j3 U% j
SET GLOBAL validate_password_policy=LOW;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';搞定!!
: _  |( L  c, K1 K7 I# n0 \$ G4 A* B
註: mysqld啟動時,在/var/log/mysql/mysqld.log紀錄著:
註: 可以先寫支php程式以測試 ~~~! p. R) O" R1 v1 C4 ^/ Y$ o
  1. <?
    & U5 @: ?9 v9 ]. Q* y- m4 L
  2. $hostname = "x.x.x.x";1 `1 D" l$ c" i4 y( \
  3. $database = "db_name";
    & V( R! b; d/ }! \* C; A' y% Y
  4. $username = "user_name";
    0 S  s( `& [7 d4 L- C
  5. $password = "pwd";5 E7 J4 X/ e3 P- p* s
  6. ' a: a$ a- {: K( ~
  7. $conn = mysqli_connect($hostname, $username, $password,$database) or trigger_error(mysql_error(),E_USER_ERROR);3 e, |7 K8 k9 o2 j1 I. L
  8. mysqli_query($conn ,"SET NAMES utf8");8 p' N  {, r7 m
  9. " x( D4 s( Y2 L! q
  10. $sql = "select count(*) as total from " .  "table_name";
    1 |4 K& B2 a% l# {/ G" @
  11. $rec = mysqli_fetch_assoc(mysqli_query( $conn,$sql));5 Y1 w! H8 O. x. I" k! T" i( r* i
  12. echo $rec['total'];* Z0 r6 X4 C2 G3 [7 n! W
  13. mysqli_close($conn);
      i' Z6 O9 |4 A( T# c
  14. ?>
複製代碼
遊客,本帖隱藏的內容需要積分高於 999999999999 才可瀏覽,您當前積分為 0
' c0 R3 {+ @1 _3 H! H, f

- \' ?! p7 N# M, \5 v' E" @
7 b* ?! j, ~( w& D. Q4 l8 U當php 7.2.24  connect to mysql server,出現 :
  1. PHP Fatal error:  Uncaught Error: Call to undefined function mysqli_connect() in /test/connectmysql8.php:9# Y2 R' {! V+ q- Q; w
  2. Stack trace:
    9 ~* D) w4 C4 o
  3. #0 {main}3 b4 c) q( @) N
  4.   thrown in /test/connectmysql8.php on line 90 z" h5 w" y6 B+ R( q
  5. 5 O! c& m" w8 q7 p, H0 l0 g$ f
  6. Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /test/connectmysql8.php:9
    % W% i. ^! f9 n, |7 \/ I
  7. Stack trace:# E, N1 O) Z7 d8 Z) L7 N
  8. #0 {main}* l9 R# y- D* s% ?# x- W& D* a5 j
  9.   thrown in /test/connectmysql8.php on line 9
複製代碼
這是版本相依的問題,只要 yum install php-mysqlnd  或 yum install php-mysqli 即可0 i$ r, N7 D- U4 l% _) o
, ^' k& x( ~; D* i5 G

) I8 l7 C+ y5 K7 N[Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
4 b4 Y; l9 J( _* Z+ `/ F: m1 p說明: 千萬不能照它建議用"UTF8MB4",否則無法成功啟動
3 g$ y/ F2 Z+ p8 f3 q5 s/ A, }! D, c" X' Q; W' A3 v3 k8 [& [
(2)( R* S1 u3 e+ f& s+ l1 Q
(1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'system>0' at line 1
- B. K5 a+ X( U7 G3 \+ qSELECT COUNT(*) FROM common_usergroup WHERE type='special' and system>0! ?" r( n2 S7 O- c4 o
* }0 Z& x" a/ M! c, w. R6 S
(1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups = '' AND starttime<=1532077291 AND (endtime>=1532077291 OR endtime=0) ORD' at line 1
& x  x( o) D# F' b, ^) p: R4 \SELECT * FROM forum_announcement WHERE type!=2 AND groups = '' AND starttime<=1532077291 AND (endtime>=1532077291 OR endtime=0) ORDER BY displayorder, starttime DESC, id DESC LIMIT 1
' r7 _9 W3 f& e: m# b7 ~: P% l. m, }! Y( I0 `8 o5 G7 M# z
因為MySQL 8.0+將system和groups作為了關鍵字,所以不能直接在SQL中將system和groups這兩個詞作為數據庫、數據表、數據表字段中的任意一種使用,如果數據庫名或數據表名或數據表字段名使用了system或groups作為名字,必須使用一對反引號引用起來。寫作`system`或`groups`。
- d* A$ J* U4 ]' u! I/ j) {0 \
) C3 z2 S( N# m第一個錯誤需要找到Discuz!目錄中的source\class\table\table_common_usergroup.php,
" ^6 K6 A$ Z3 m0 n將文件中所有的system全部改成`system`,保存後重新上傳到服務器的相同目錄即可。! G& @' H3 p) n9 [* {1 m$ Q, n
; d8 w, F0 ?' C( q/ R
第二個錯誤需要找到Discuz!目錄下中的source\class\table\table_forum_announcement.php,
$ ^: T* @4 t* Z2 @將文件中所有的groups全部改為`groups`,保存後重新上傳到服務器的相同目錄即可。, c' T- m; L- O% o1 F; y
8 [* }" ~9 N- l9 J' f) U: y+ U5 B
如果在MySQL 8+環境下安裝Discuz!,在安裝前需要給install\data\install.sql文件中沒有加引號的所有system逐一添加一對反引號保存重新上傳到服務器的相同目錄,否則也會出現SQL語法錯誤。+ h( E8 z4 x2 K" x

$ u  Y7 t+ o* d5 s" }6 k/ ?為了避免語法錯誤,在寫SQL語句時,一定要為所有的數據庫名、數據表名、數據表字段名全部添加一對反引號,像Discuz!這樣的寫法是很不妥的。
& x! ~- [6 y6 V8 C0 n8 v3 v以上參考:   升級到 MySQL 8.0+ 後Discuz! 更新緩存時出現SQL語法錯誤

( R( B9 t' ?. ]! b% N
% K% C2 a; Z; g4 a5 U( g
) D" l4 N1 c6 n/ r( x6 [# P' |4 {4 U. \& V! f9 @# k4 ?4 A

- ?+ k8 U3 I+ f. P, s$ _
回復

舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則
















聚BT福利

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板|52AV手機A片王

GMT+8, 2025-2-16 01:53 , Processed in 0.067530 second(s), 16 queries .

連絡站長.廣告招商

52avtv@gmail.com | QQ:2405733034     since 2015-01

裸聊妹 快速回復 返回頂部 返回列表