리눅스 계열 OS 중 TmaxOS 21에서 MySQL을 설치해서 사용해보고자 한다. MySQL 설치에 문제가 있어서 MariaDB를 설치하고 스프링 프로젝트에 연결하기 위해 mariadb-java-client를 사용하였다.
MariaDB 설치 방법
우분투에서 사용했을 때처럼 아래 명령어를 이용해 MySQL을 설치하려고 했다. 그러나 에러 메시지가 계속해서 떴다.
$ sudo apt install mysql-server
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
mysql-server 패키지를 사용할 수 없습니다. 하지만 다른 패키지가 참조하고 있습니다.
해당 패키지가 누락되었거나 지워졌다는 뜻입니다. 아니면 또 다른 곳에서
패키지를 받아와야 하는 경우일 수도 있습니다.
E: 'mysql-server' 패키지는 설치할 수 있는 후보가 없습니다
$ sudo apt-cache search mysql-server
default-mysql-server - MySQL database server binaries and system database setup (metapackage)
default-mysql-server-core - MySQL database server binaries (metapackage)
mariadb-server-10.5 - MariaDB database server binaries
mariadb-server-core-10.5 - MariaDB database core server files
검색 명령어로 패키지를 찾아보려 하였으나 검색 결과에도 나오지 않았다.
결국 내가 보고 있는 교재와는 다르지만 MariaDB를 이용해 진행하기로 하였다. 설치는 아래 명령어를 실행하면 된다. 버전 확인을 통해 정상적으로 설치된 것을 확인할 수 있다.
$ sudo apt-get install mariadb-server mariadb-client
$ mariadb --version
mariadb Ver 15.1 Distrib 10.5.9-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
$ mysql --version
mysql Ver 15.1 Distrib 10.5.9-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
MariaDB(MySQL)에서 .sql 파일 실행하는 법
학습 시작 전 DB 환경을 설정하기 위해 ddl.sql 파일을 작성했다. 이 파일을 실행시키기 위해 DB를 루트 권한으로 접속하였다. (내 경우 sudo 권한이 없으면 접속이 불가능했다.)
$ sudo mysql -u 계정이름 -p (db이름)
위 명령어를 실행시키고 비밀번호를 입력한다.
$ sudo mysql -u root -p
내 경우 root 유저가 id: root, pw: root로 생성되었다.
그 후 MariaDB 콘솔 창에 source [파일 경로]를 입력하면 sql 파일이 실행된다.
MariaDB [(none)]> source ./ddl.sql
Query OK, 0 rows affected (0.001 sec)
Query OK, 1 row affected (0.000 sec)
Query OK, 0 rows affected (0.002 sec)
Query OK, 0 rows affected (0.018 sec)
Maven 프로젝트에 MariaDB 의존성 설정 방법
https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client
Maven Repository 홈페이지에서 mariadb-java-client를 검색하고 원하는 버전의 코드를 복사한다. 내 경우에는 2.7.3 버전을 사용하였다.
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.3</version>
</dependency>
mariadb를 연동할 메이븐 프로젝트의 pom.xml 파일에서 <dependencies> 내에 위 코드를 붙여 넣기 한다. 그러면 이클립스에서 자동으로 해당 패키지를 다운로드한다. 자동으로 다운로드되지 않는다면 [프로젝트 폴더 우클릭] - [Maven] - [Update Project..]를 클릭 후 확인 버튼을 누르면 업데이트가 진행된다.
'Java' 카테고리의 다른 글
@Transactional을 통한 스프링 트랜잭션의 전파 (0) | 2024.02.20 |
---|---|
@Transactional과 스프링 트랜잭션 AOP (0) | 2024.02.20 |
[JAVA/JUnit5/Mokito] given() - 메소드 파라미터가 특정 클래스이면서 특정 필드 값을 가지는 경우 분기하기 (0) | 2021.11.27 |
댓글