programing

localhost(xampp)에서 MySQL strict 모드를 켜거나 끄려면 어떻게 해야 합니까?

copysource 2022. 9. 29. 23:48
반응형

localhost(xampp)에서 MySQL strict 모드를 켜거나 끄려면 어떻게 해야 합니까?

localhost(xampp)에서 MySQL strict 모드가 켜져 있는지 여부를 확인하는 방법을 알고 싶습니다.

켜져 있는 경우, 어떤 모드와 어떻게 꺼야 하는지.

꺼진 경우 켜는 방법.

저는 이미 http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-full과 https://mariadb.com/kb/en/mariadb/sql_mode/ 및 기타 관련 사이트를 팔로우했습니다.하지만 나는 내 질문에 대한 정확한 답을 얻지 못했어.

-> STRICT_TRANS_탭LES는 MySQL strict 모드 설정을 담당합니다.

-> strict 모드가 활성화 되어 있는지 여부를 확인하려면 다음 sql을 수행합니다.

SHOW VARIABLES LIKE 'sql_mode';

값 중 하나가 STRICT_TRANS_TABLES일 경우 strict 모드가 네이블이 되고 그렇지 않을 경우 네이블이 되지 않습니다.제 경우엔

+--------------+------------------------------------------+ 
|Variable_name |Value                                     |
+--------------+------------------------------------------+
|sql_mode      |STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION|
+--------------+------------------------------------------+

따라서 이 경우 strict 모드는 STRICT_TRANS_TABLES 값 중 하나로 이니블이 됩니다.

-> strict 모드를 비활성화하려면 다음 sql을 수행합니다.

set global sql_mode='';

[또는 STRICT_TRANS_TABLES 이외의 모드]예: set global sql_mode='NO_ENGINE_SUBTICATION';]

-> strict 모드를 다시 활성화하려면 다음 sql을 수행합니다.

set global sql_mode='STRICT_TRANS_TABLES';

ubuntu에서 영구적으로 변경하려면 다음을 수행하십시오.

ubuntu 명령줄에서

sudo nano /etc/mysql/my.cnf

그런 다음 다음을 추가합니다.

[mysqld]
sql_mode=

먼저 다음 명령을 사용하여 mysql에서 strict 모드가 이니블인지 여부를 확인합니다.

     SHOW VARIABLES LIKE 'sql_mode';

디세블로 하는 경우:

     SET sql_mode = '';

또는 다음을 제외한 다른 모드를 설정할 수 있습니다.strict 모드를 이노블로 만들려면:

     SET sql_mode = 'STRICT_TRANS_TABLES';

첫 번째 mysql 쿼리에서 결과를 확인할 수 있습니다.

값을 확인합니다.

SELECT @@GLOBAL.sql_mode;

@@global을 클리어합니다.다음 명령을 사용하여 sql_mode를 설정합니다.

SET @@GLOBAL.sql_mode=''

(10)를 합니다.my.ini파일을 server.my.ini경로를 확인합니다.를 들어 인스턴스경우 5.7 입니다.MYSQL57과 같습니다.

"C:\Program Files\My"SQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57

를 들어, 편집,my.iniC:\ProgramData\MySQL\MySQL Server 5.7\해 주세요.C:\ProgramData\의 입니다.에는 다음과 .

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

하다.STRICT_TRANS_TABLES,sql-mode MYSQL57 MYSQL57 MYSQL-mode MYSQL57 MYSQL-MYSQL57 MYSQL-MYSQL-MYSQL-MYSQL57.하려면 , 을 실행해 .SHOW VARIABLES LIKE 'sql_mode';(MySQL 명령줄 클라이언트).

(웹에 있는 다른 답변과 문서는 유용하지만 Windows에서 my.ini 파일을 찾을 수 있는 위치를 알려주지 않는 것 같습니다.)

내 경우 다음을 추가해야 합니다.

sql_mode="STRICT_TRANS_TABLES"

아래[mysqld] " " " ""my.ini치치에 C:\xampp\mysql\bin.

로컬 및 글로벌 값을 확인하려면 다음 항목을 사용합니다.

SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;

에서는 Debian 10에서 합니다../opt/lampp/xampp start

있습니다.strace ./opt/lampp/sbin/mysqld합니다.my.cnf가 있는지 확인합니다.

stat("/opt/lampp/etc/my.cnf", {st_mode=S_IFREG|0644, st_size=5050, ...}) = 0
openat(AT_FDCWD, "/opt/lampp/etc/my.cnf", O_RDONLY|O_CLOEXEC) = 3

sql_mode에 추가합니다./opt/lampp/etc/my.cnf/etc/mysql/my.cnf

localhost(xampp)에서 MySQL strict 모드가 켜져 있는지 여부를 확인하는 방법을 알고 싶습니다.

SHOW VARIABLES LIKE 'sql_mode';

결과에 "STRICT_TRANS_TABLES"가 있으면 ON입니다.그렇지 않으면 꺼집니다.

켜져 있는 경우, 어떤 모드와 어떻게 꺼야 하는지.

꺼진 경우 켜는 방법.

Windows 의 경우,

  1. ★★★★★★★★★★★★★★★로 이동C:\Program Files\MariaDB XX.X\data
  2. '열다'를 열어보세요.my.inifilename을 클릭합니다.
  3. * "sql_mode"가 있는 라인에서 값을 수정하여 strict 모드를 ON/OFF로 설정합니다.
  4. 파일 저장
  5. **MySQL 서비스를 재시작합니다.
  6. 실행합니다.SHOW VARIABLES LIKE 'sql_mode'있었는지 한 번

* 3.a.를 추가합니다STRICT_TRANS_TABLES써주세요.sql_mode=STRICT_TRANS_TABLES* 다른 값이 이미 있는 경우 이 값 뒤에 쉼표를 추가하고 나머지 값과 결합합니다.

*3.b.를 제거하기만 .STRICT_TRANS_TABLES .* [ ] 、 [ ] 、 [ ] 、 [ ]

**6. 컴퓨터에서 MySQL 서비스를 다시 시작하려면

  1. 실행 명령 창을 엽니다(Windows + R 버튼을 누릅니다).
  2. 「」라고 입력합니다.services.msc
  3. [ ] 를 합니다.OK
  4. MySQL
  5. [ ] 를 합니다.Restart

서버 콘솔:

$ mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';" 

는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」sql_mode=TRADITIONAL으로, 가 xampp를 .mysqld하겠습니다.제가 자세히 설명해 드릴게요.

물론 여러분은 SO에 오기 전에 최선을 다합니다, 저도 마찬가지입니다..A:\xampp\mysql\bin\my.ini(음악) :

# You can copy this file to
# A:/xampp/mysql/bin/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is A:/xampp/mysql/data) or
# ~/.my.cnf to set user-specific options.

★★★★★★★★★★★★★★★★★★★★★★★★★★★.A:/xampp/mysql/bin/my.cnf,A:/xampp/mysql/data/my.cnf작성.cnf파일을 저장합니다.은 그 my.ini 파일:A:/xampp/mysql/bin/my.ini ★★★★★★★★★★★★★★★★★」A:/xampp/mysql/data/my.ini)

후 모든 가 "thta xampp"를 .mysql_start.batmsql deamon이라고 합니다.방망이를 치다

@echo off
cd /D %~dp0
echo Diese Eingabeforderung nicht waehrend des Running beenden
echo Please dont close Window while MySQL is running
echo MySQL is trying to start
echo Please wait  ...
echo MySQL is starting with mysql\bin\my.ini (console)

mysql\bin\mysqld --defaults-file=mysql\bin\my.ini --standalone

if errorlevel 1 goto error
goto finish

:error
echo.
echo MySQL konnte nicht gestartet werden
echo MySQL could not be started
pause

:finish

알 수은 '인수'를 입니다.--defaults-fileMySQL을 사용합니다.이제 이 문제를 해결할 아이디어가 많기를 바랍니다.

note : 미 、 추 、 했 、 했 、 note 、 note 、 note note note 。A:/xampp/mysql/bin 나 my my myPATH.

아래에 설명한 바와 같이 몇 가지 옵션이 있습니다.

  1. 를 추가해 주세요.--defaults-file (예:)--defaults-file=mysql\bin\my.cnf)
  2. 플래그를 생략하고 mysqld를 기본 위치에서 읽을 수 있도록 할 수 있습니다.mysql --help)의 약점입니다.
    • 디폴트 「」의 를 편집합니다.my.ini 또는
    • 멘멘코 follow follow follow follow follow follow follow follow follow follow follow my.cnf설치 디렉토리에 따라 파일을 만듭니다.

그 금금금 that that that that that that that 를 삭제했습니다.--defaults-file플래그를 지정하고 xampp 대신 MySQL의 기본 구성으로 실행되도록 합니다.까지 해A:\xampp\mysql\data\my.ini★★★★★★★★★★★★★★★★★★:

[mysqld]
datadir=C:/xampp/mysql/data
[client]

로.

[mysqld]
datadir=A:\xampp\mysql\data
[client]

이치노 '아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아my.confA:\xampp\mysql\datadir . ( data dir )sql_mode옵션을 선택할 수 있습니다.또, 이 기능은my.cnf A:\xampp\mysql\bin.

이해를 돕기 위해 스크린샷을 첨부했습니다.

「」의 갱신 dir:A:\xampp\mysql\data\my.ini:

여기에 이미지 설명 입력

1) (「」1)my.cnfA:\xampp\mysql\data:

여기에 이미지 설명 입력

2) 추가(「」2)my.cnfA:\xampp\mysql\bin:

여기에 이미지 설명 입력

다른 해결책을 찾을 수도 있습니다.이러한 설정 파일에 관한 어떠한 문제도 해결할 수 있기를 바랍니다.

ubuntu의 경우:

  • SSH를 통해 VPS에 연결되면 "root"를 사용하여 mysql에 연결해 보십시오.

사용자: mysql -u 루트 -p

  • "root" 사용자 비밀번호를 입력하면 mysql 환경(mysql>)이 됩니다.다음 명령어를 사용하여 sql_mode가 무엇인지 확인하기만 하면 됩니다.

    'sql_mode'와 같은 변수 표시;

기본적으로 테이블 값이 다음과 같으면 테이블이 결과로 표시됩니다.STRICT_TRANS_TABLES, 이 되어 있기 하여 이 해야 합니다.

set global sql_mode='';

그러면 테이블 값이 비워지고 이 설정이 비활성화됩니다.다음과 같이 합니다.

 +---------------+-------+
 | Variable_name | Value |
 +---------------+-------+
 | sql_mode      |       |
 +---------------+-------+

이 명령어는 반드시 SSH가 아닌 MySQL 환경에서 실행해 주십시오.아래의 기사에서는 이 순간을 놓쳤기 때문에 독자가 직감적으로 이해할 수 있다고 생각합니다.

언급URL : https://stackoverflow.com/questions/40881773/how-to-turn-on-off-mysql-strict-mode-in-localhost-xampp

반응형