본문 바로가기

mysql

(10)
[MySQL] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp 에러 Rancher desktop 툴을 사용해서 도커를 띄웠다. 버전은 1.6.2버전 최신이었다. docker compose up -d 를 사용해서 띄웠더니 TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details) 위처럼 에러가 발생하면서 계속 불규칙적으로 restarting이 되었다. exec로 접속도 안되고 dbeaver UI툴로도 안붙었다. mysql: image: mysql:5.7 platform: linux/amd64 # m1에서 docker pull 시 ERROR:no matching mani..
nodejs와 mysql 연동 에러 해결하는 방법 문제 : Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 위와 같은 에러가 발생하고 있었습니다. package.json에서 버전문제인가 싶어서 npm install을 다시 해줘도 동일한 문제가 발생했습니다. 해결: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '사용할 패스워드'; 를 입력해서 mysql에서 실행해준뒤에 flush privileges; 새로고침해주고 나니 정상 작동 했습니다.
[PostgreSQL] Windows에서 설치 및 pgAdmin 실습 오늘은 [PostgreSQL] Windows에서 설치 및 pgAdmin 실습을 해보겠습니다. https://www.enterprisedb.com/downloads/postgres-postgresql-downloads Download PostgreSQL Database for Windows, Linux and MacOS & 32-bit or 64-bit Versions | EDB Download PostgreSQL packages or installers free from EDB. Get PostgreSQL for Windows, Linux and MacOS platforms. Download 32-bit or 64-bit versions. Download open-source PostgreSQL now...
[MySQL] 필드의 문자열을 하나로 합치기 (CONCAT 함수) ● CONCAT이란? 여러 문자열 or 컬럼을 합쳐서 조회해와야 할때가 종종 있습니다. 이때 사용하는 함수는 CONCAT 입니다. 즉, CONCAT 함수는 둘 이상의 문자열을 순서대로 합쳐주는 역할을 하는 함수 입니다. ※ 사용 예시 : CONCAT(문자열1, 문자열2 [, 문자열3 ...]) ● 예제 쿼리 실행 쿼리 : SELECT CONCAT('이곳은 ', '트롤의 ', '공간입니다.') AS table_name; 결과 : 이곳은 트롤의 공간입니다. 예제 테이블 : good_table idx good price 1 사과 3달러 2 복숭아 4달러 3 자두 3달러 4 바나나 2달러 실행 쿼리 : SELECT CONCAT(good,'의 가격은 ',price) as good_column FROM good_t..
mysqli::real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers 오류 해결 이 PHP오류는 MySQL버젼을 5에서 8로 업그레이드 한 후 발생하며 utf8이 utf8mb4로 대체되기 때문에 발생합니다. MySQL 버전 8에서는 character_set_server | utf8mb4 따라서 이 문제를 해결하기 위해서는 이전방식인 utf8로 변경하는 것입니다. 1. iterm2 또는 터미널을 실행하고, my.cnf 파일을 어느 경로에 있는지 찾아봅니다. $ find / -name 'my*.cnf' 2. 저는 /usr/local/mysql에 있었으며, 파일을 etc디렉토리 아래로 이동해줍니다. 3. 파일을 열어 수정 해줍니다. $ vi /etc/my.cnf [client] default-character-set=utf8 [mysql] default-character-set=utf8 ..
[MacOS] MySQL 간단하게 설치하기 오늘은 mac에서 MySQL 간단하게 설치하는 방법에 대해 포스팅 하겠습니다. 1. 우선 아래 링크를 통해 맥버전 DMG파일을 다운로드 받아줍니다. 필요하다면 오라클 계정을 생성해주세요. 다운로드 링크 2. 다운로드된 파일을 실행해줍니다. 3. password 암호화 방식 선택해줍니다. 4. 관리자 비밀번호를 설정해줍니다. 5. MySQL 설치되었는지 확인해줍니다. 6. 이제 터미널을 실행해줍니다. (iterm2가 있다면, iterm2를 실행해줍니다. $ cd /usr/local/mysql/bin $ ./mysql -u root -p 접속한 후에 바로 다른 계정을 생성해줍니다. root계정으로 계속 사용하는 것은 위험할 수 있기 떄문입니다. create user git@localhost identifie..
[웹서버 구축] ② 웹서버 구축(APM)-YUM설치 웹서버 구축을 하기 위해서 APM(Apache, Mysql(Maria), PHP) 3개의 패키지가 설치되어야 합니다. 웹을 개발 하려는 환경에 따라 버전에 맞게 RPM(소스파일로 설치)하는게 좋지만, 크게 영향을 받지 않는다면 일반적으로 YUM(자동설치)로 쉽게 설치할 수 있습니다. 1. 의존성 라이브러리 설치 rpm -qa libjpeg* freetype* gd-* gcc gcc-c++ gdbm-level libtermcap-devel 위는 라이브러리가 설치되어있는지 확인하는 부분입니다. yum install libjpeg* libpng* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel Yum으로 위에서 필요한 라이브러리를 한번에 설치합니다. (위와 더불어 앞으로 모든 ..
[PHP] addslashes (), stripslashes () 와 get_magic_quotes_gpc ()함수 DB 작업을 하다보면 쿼리를 작성하게 됩니다. 이때 DB 시스템은 큰따옴표(") , 작은따옴표(') , 백슬래시(\) , NULL byte를 문자열을 구분하는 등의 기준으로 사용됩니다. 하지만, 하나의 문자열 안에 따옴표가 들어가면 오류가 발생하는 경우가 흔히 있습니다. 이러한 예상치 못한 오류는 취약점으로 이어지기도 하기에, DB관리에 주의 해야 합니다. ● addslashes () : 데이터베이스의 질의에서 처리할 필요가 있는 문자 앞에 백슬래시를 붙인 문자열을 반환합니다. 예를 들면, 'It's a pen' 이렇게 쿼리를 전송하면 It뒤에 '(작은따옴표)로 인해 오류가 발생합니다. 그래서 따옴표들을 기준을 가지고 다르게 표현해주어야 하는데 이것을 흔히 이스케이프 시킨다고 합니다. 'It\'s a p..