본문 바로가기

DB(SQL)/mysql|maria

[mysql] mariadb 있는 곳에 mysql install 도전 (feat. 포기)

반응형

결론만 말하면 안된다. 아니면 설정 오지게 해야한다(포기)

가장 쉬운 방법은 도커로 분리하는 방법이라고 한다.

또는 설정을 오지게 해줘야한다.

우리 서버는 실제로 운영을 하고 있기에 실험을 하기엔 무리가 있다고 판단 포기하고 그냥 도커로 했다.

1. mariadb port 확인

mariadb와 mysql 환경설정 등이 같은곳을 보고 있을 가능성도 많으면 기본포트 3306도 동일하다

그래서 포트가 겹칠 경우 install 당시 오류가 생길 수 있으므로 기존 mariadb의 포트를 확인하고 변경하던가 mariadb를 uninstall 및 사용 중지를 해놓는것이 좋다.

cat /etc/mysql/mariadb.conf.d/50-server.cnf
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = *
port                    = 3306
default-time-zone       = '+9:00'

 

2.  MySQL APT 저장소 구성 패키지(mysql-apt-config) 다운로드

# MySQL APT 저장소 구성 패키지(mysql-apt-config) 다운로드
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb

 

  • MySQL Server & Cluster: 여기서 설치하려는 MySQL 서버의 버전을 선택할 수 있습니다. 현재 mysql-8.0이 선택되어 있습니다.
  • MySQL Tools & Connectors: MySQL 커맨드라인 도구와 커넥터(예: MySQL Workbench, ODBC 등)를 설치할지 여부를 선택합니다. 현재 "Enabled"로 설정되어 있어 설치할 수 있게 되어 있습니다.
  • MySQL Preview Packages: MySQL의 프리뷰 버전(미리 보기용 베타 버전 등)을 설치할지 여부를 선택합니다. 현재 "Disabled"로 설정되어 있어 설치되지 않도록 설정되어 있습니다.

각각 엔터로 들어가서 값을 바꿀 수 있다 install 할때 내 옵션

잘못 선택했다면 아래 명령어로 다시 진입 가능하다

sudo dpkg-reconfigure mysql-apt-config

3. mysql install

sudo apt update

MySQL APT 저장소의 공용 키(GPG)를 추가

https://forums.mysql.com/read.php?11,723158,723158

sudo apt update 를 했는데 아래와 같이 나오는 경우 mysql 공용키가 등록이 안되서 안전한게 다운로드 할 수 없다는거다 등록해주자.

Reading package lists... Done
W: GPG error: http://repo.mysql.com/apt/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
E: The repository 'http://repo.mysql.com/apt/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

mysql gpg : B7B3B788A8D3785C

sudo apt-key adv --keyserver keys.gnupg.net --recv-keys B7B3B788A8D3785C
# or
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B7B3B788A8D3785C

install

# 최신버전
sudo apt install mysql-server
# 버전 선택
sudo apt install mysql-server=8.0.36
# 상세 설정
sudo apt install mysql-server=8.0.36-1ubuntu22.04

버전 지정 install

sudo apt install mysql-server=8.0.36 Reading package lists... Done Building dependency tree Reading state information... Done E: Version '8.0.36' for 'mysql-server' was not found

선택한 버전이 없다고 뜬다면 아래와 같이 조회해볼 수 있다.

apt-cache policy mysql-server
mysql-server:
  Installed: (none)
  Candidate: 8.0.36-1ubuntu22.04
  Version table:
     8.0.39-1ubuntu22.04 500
        500 http://repo.mysql.com/apt/ubuntu focal/mysql-8.0 amd64 Packages
     8.0.37-0ubuntu0.22.04.3 500
        500 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        500 http://kr.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages
     8.0.19-0ubuntu5 500
        500 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 Packages

여기서 조회가 안되는 경우 보안 등의 문제로 더이상 특정 버전을 제공하지않는것이다.

완벽하게 특정버전을 install 하고싶은 경우

1. https://downloads.mysql.com/archives/community/ mysql 아카이브 접속

2. 버전을 클릭

3. 운영체제를 선택

4. os 버전 선택

  • ubuntu 버전 확인하기
    • 더보기
      cat /etc/os-release
      
      NAME="Ubuntu"
      VERSION="22.04.4 LTS (Jammy)"
      ID=ubuntu
      ID_LIKE=debian
      PRETTY_NAME="Ubuntu 22.04.4 LTS"
      VERSION_ID="22.04"
      HOME_URL="https://www.ubuntu.com/"
      SUPPORT_URL="https://help.ubuntu.com/"
      BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
      PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
      VERSION_CODENAME=jammy
      UBUNTU_CODENAME=jammy

      or

      # ubuntu 버전 확인하기
      lsb_release -a
      
      No LSB modules are available.
      Distributor ID: Ubuntu
      Description:    Ubuntu 22.04.4 LTS
      Release:        22.04
      Codename:       jammy

5. 필요한 패키지 다운로드

잘모르겠으면 DEB Bundle install

 

잘 안다면 필요한 패키지 다운로드:

  • mysql-server
  • mysql-client
  • mysql-common
  • libmysqlclient21 (및 필요한 경우 libmysqlclient-dev)

여기선 deb bundle 이용

deb bundle download

아래 gui에서 다운로드해서 해당 os에 옮기거나

저거 오른쪽 클릭하면 링크주소 복사 같은거 있는데 그렇게 해서 url 가지고 download 할수도 있다.

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.36-1ubuntu22.04_amd64.deb-bundle.tar
# or
curl -OL https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.36-1ubuntu22.04_amd64.deb-bundle.tar

 

.tar 풀기

tar -xvf mysql-server_8.0.36-1ubuntu22.04_amd64.deb-bundle.tar

패키지 설치

sudo dpkg -i *.deb

바로 에러 났다 여기서 포기했다

 mariadb-client 및 mariadb-server 패키지는 virtual-mysql-client 및 virtual-mysql-server라는 가상 패키지를 제공합니다. MySQL 클라이언트와 서버도 이 가상 패키지를 제공하기 때문에 둘 다 설치할 수 없습니다.

라고 한다..

에러보기

더보기


(Reading database ... 79868 files and directories currently installed.)
Preparing to unpack libmysqlclient21_8.0.36-1ubuntu22.04_amd64.deb ...
Unpacking libmysqlclient21:amd64 (8.0.36-1ubuntu22.04) over (8.0.29-0ubuntu0.22.04.3) ...
Selecting previously unselected package libmysqlclient-dev.
Preparing to unpack libmysqlclient-dev_8.0.36-1ubuntu22.04_amd64.deb ...
Unpacking libmysqlclient-dev (8.0.36-1ubuntu22.04) ...
Replaced by files in installed package libmariadb-dev (1:10.7.8+maria~ubu2004) ...
Selecting previously unselected package mysql-client.
Preparing to unpack mysql-client_8.0.36-1ubuntu22.04_amd64.deb ...
Unpacking mysql-client (8.0.36-1ubuntu22.04) ...
dpkg: warning: downgrading mysql-common from 1:10.7.4+maria~focal to 8.0.36-1ubuntu22.04
Preparing to unpack mysql-common_8.0.36-1ubuntu22.04_amd64.deb ...
Unpacking mysql-common (8.0.36-1ubuntu22.04) over (1:10.7.4+maria~focal) ...
Selecting previously unselected package mysql-community-client.
dpkg: regarding mysql-community-client_8.0.36-1ubuntu22.04_amd64.deb containing mysql-community-client:
 mariadb-client-10.7 conflicts with virtual-mysql-client
  mysql-community-client provides virtual-mysql-client and is to be installed.

dpkg: error processing archive mysql-community-client_8.0.36-1ubuntu22.04_amd64.deb (--install):
 conflicting packages - not installing mysql-community-client
Selecting previously unselected package mysql-community-client-core.
dpkg: regarding mysql-community-client-core_8.0.36-1ubuntu22.04_amd64.deb containing mysql-community-client-core:
 mariadb-client-core-10.7 conflicts with virtual-mysql-client-core
  mysql-community-client-core provides virtual-mysql-client-core and is to be installed.

dpkg: error processing archive mysql-community-client-core_8.0.36-1ubuntu22.04_amd64.deb (--install):
 conflicting packages - not installing mysql-community-client-core
Selecting previously unselected package mysql-community-client-plugins.
Preparing to unpack mysql-community-client-plugins_8.0.36-1ubuntu22.04_amd64.deb ...
Unpacking mysql-community-client-plugins (8.0.36-1ubuntu22.04) ...
Selecting previously unselected package mysql-community-server.
dpkg: regarding mysql-community-server_8.0.36-1ubuntu22.04_amd64.deb containing mysql-community-server:
 mariadb-server-10.7 conflicts with virtual-mysql-server
  mysql-community-server provides virtual-mysql-server and is to be installed.

dpkg: error processing archive mysql-community-server_8.0.36-1ubuntu22.04_amd64.deb (--install):
 conflicting packages - not installing mysql-community-server
Selecting previously unselected package mysql-community-server-core.
dpkg: regarding mysql-community-server-core_8.0.36-1ubuntu22.04_amd64.deb containing mysql-community-server-core:
 mariadb-server-core-10.7 conflicts with virtual-mysql-server-core
  mysql-community-server-core provides virtual-mysql-server-core and is to be installed.

dpkg: error processing archive mysql-community-server-core_8.0.36-1ubuntu22.04_amd64.deb (--install):
 conflicting packages - not installing mysql-community-server-core
Selecting previously unselected package mysql-community-server-debug.
Preparing to unpack mysql-community-server-debug_8.0.36-1ubuntu22.04_amd64.deb ...
Unpacking mysql-community-server-debug (8.0.36-1ubuntu22.04) ...

종속성 문제 해결

sudo apt --fix-broken install
반응형