반응형 mysql7 Django - MySQL/MariaDB 연결하기 대부분의 서비스용도로 사용하다면, 기본적으로 제공하는 파일 기반의 Database인 SQLlite 보다는 MySQL, 혹은 MariaDB를 통해 Database를 사용하는 것이 확장성에 좋기 때문에 MySQL/MariaDB 연결 방법에 대해서 정리해 본다. 1. mysqlclient 설치 가장 먼저 해야 할 일은 MySQLClient를 설치하는 것이다. Visual Studio 기준으로 env 에서 마우스 우클릭을 통해 Manage Python Packages 에서 mysqlclient를 입력하여 설치할 수 있으며, 이는 pip를 통해 설치한 것과 동일하다. 설치가 완료되면, pip 패키지 설치는 아래와 같이 가능하다. pip install mysqlclient 설치가 완료되면, 패키지가 추가된 것을 확.. 2024. 4. 12. SQLAlchemy로 MySQL 데이터베이스 연결 및 쿼리하기 SQLAlchemy는 Python에서 데이터베이스를 연결하고 쿼리하는 데 사용할 수 있는 강력한 라이브러리이. MySQL을 포함한 다양한 데이터베이스와 호환된다. 데이터베이스 연결 SQLAlchemy를 사용하여 MySQL 데이터베이스에 연결하려면 먼저 create_engine() 함수를 사용해. 이 함수의 인수에는 데이터베이스 연결 정보가 포함된다. import sqlalchemy as db database_url = "mysql+pymysql://username:password@host:port/database" engine = db.create_engine(database_url) 위 예제에서는 다음과 같은 데이터베이스 연결 정보를 사용한다. 사용자 이름: username 비밀번호: password .. 2024. 3. 2. MVC - MYSQL, 최대 길이가 ‘250’인 문자열 또는 배열 형식이어야 합니다. .NET MVC에서 MYSQL을 연결하여 데이터베이스에 기록을 하다보면, 다음과 같은 오류를 만날 수 있습니다. Message “하나 이상의 엔터티에 대해 유효성을 검사하지 못했습니다. 자세한 내용은 ‘EntityValidationErrors’ 속성을 참조하십시오.” Exception 위 오류를 확인 하였을 때 보통 MYSQL의 제한에 의해 발생하는 오류로 아래 경로를 따라 들어가면 확인 할 수 있습니다. ex → EntityValidationErrors → ValidationErrors → [0] → ErrorMessage 여기에서 오늘 특이하게 경험한 오류코드는 다음과 같습니다. ErrorMessage “필드 xxx(는) 최대 길이가 ‘250’인 문자열 또는 배열 형식이어야 합니다.” 위 오류코드는 .. 2024. 2. 20. MariaDB/MySQL - Database 파일 위치 변경하기 MariaDB/MySQL를 관리할 때 가장 기본적인 부분이 바로 Database는 사이즈이다. Database는 말 그대로 데이터를 저장하는 저장소이기 때문에 많은 양의 데이터를 저장하다 보면 디스크공간이 가득차게된다. 따라서 별도의 넉넉한 저장 공간을 만들어 데이터베이스를 위치하는게 좋은데, 기본적으로 데이터베이스 경로는 아래에 위치해 있다. /var/lib/mysql/ 여기에서는 데이터베이스 경로를 변경하는 방법에 대해서 알아보고자 한다. 1. 현재 데이터베이스 위치 확인하기 데이터베이스 위치를 확인하기 위해서는 먼저 mysql을 이용해서 로그인을 해야한다. $ sudo mysql -u root -p 이후 환경 변수인 @@datadir 를 이용하면 현재 위치 정보를 확인할 수 있다. MariaDB [.. 2022. 12. 14. MySQL - 해결 mysql_native_password failed with message MySQL 사용시 mysql_native_password가 발생하는 경우가 있다. 이경우는 보통 유저의 권한이 충분하지 않은 경우 발생하기 때문에, 우선 root를 이용하여 로그인이 정상적으로 되는지 확인해보고 조치해보기를 권장한다. root로 정상 접근이 된다면, 아래오 같이 특정 계정에 대해 권한을 전체로 넣어주도록 하자. 예제에서는 blueit라는 계정이다. mysql> grant all privileges on *.* to 'blueit'@'%' identified by 'password'; mysql> flush privileges; 2022. 9. 29. MySQL/MariaDB - root 계정 초기화/비밀번호 재설정 오늘은 MiaraDB 작업중에 발생한 root 비밀번호 분실에 따른 재설정을 진행하였다. 이유는 정확히 모르지만, sudo mysql_secure_installation 작업 도중 root 비밀번호 변경에서 강제 중지를 하였더니 root 계정이 사라져 버렸다. 이를 해결 하기 위해서 인터넷의 정보를 확인했고 여기에 정리하는 차원으로 남긴다. 방법은 MariaDB와 MySQL 모두 동일한 방식으로 사용이 가능하다. 아마 root 계정의 비밀번호를 분실했거나, 계정을 삭제한 상황이라면, 아래 방법이 유용하다. 처음에 찾은 글은 재설정하는 방법이였는데, 결과적으로 재설정이나 새로 root 계정을 생성하는 과정을 비슷하다고 할 수 있다. 1. MySQL/MariaDB Safe Mode 시작 처음 진행할 부분은 .. 2021. 1. 25. MariaDB - Specified key was too long Specified key was too long; max key length is 767 bytes 이는 InnoDB 엔진에 관련된 내용이다. MariaDB, MySQL은 하나의 Row이 가질 수 있는 최대 Index 길이의 제한이 있고 이 제한이 767 Bytes 까지이다. 이 제한을 풀기 위해서는 set global innodb_large_prefix = ON; 이후 생성하고자 하는 테이블 옵션에 ROW_FORMAT=DYNAMIC 옵션을 추가하여 해결이 가능하다. set global innodb_large_prefix = ON; 위 옵션이 정상적으로 실행되었다면 테이블을 만들때 엔진 옵션으로 DYNAMIC을 추가하면 정상적으로 테이블 생성이 가능하다. ENGINE=INNODB ROW_FORMAT=DY.. 2020. 11. 6. 이전 1 다음 반응형