반응형

 

 

 

안녕하세요 봉자씨입니다

 

위와 같은 경우는 MariaDB 10.4 user table 변경 시에 발생하는데요

상황은 아래와 같습니다.

 

상황 및 에러 :

UPDATE user SET password=PASSWORD('your password') WHERE User='root';ERROR 1348 (HY000): Column 'Password' is not updatable

 

해결 방법 :

 SELECT password('your password')

+-------------------------------------------+

| password('your password')                    |

+-------------------------------------------+

| *AAAAAAAAAAAAE7A4FEF6BD0361CA2F78E17EE |

+-------------------------------------------+

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password'

 

위와 같이 실행을 하시면 됩니다.

감사합니다.

 
반응형
반응형

 

 

 

안녕하세요 봉자씨입니다

 

맥에 MariaDB를 설치 해보도록 하겠습니다.

전체 과정은 아래와 같이 이루어 집니다.

 

1. 맥북 커맨드라인 툴인 x-code 설치
2. 루비를 이용해 Homebrew를 설치
3. Homebrew를 이용하여 MariaDB설치
4. 설치한 MariaDB 상태 점검하기
5. 접속하기

 

위의 과정으로 진행 할 예정입니다.

근데 여기서 알아야 할 것이 몇개가 있죠. 그것만 간단하게 알아 볼게요.

x-code : 맥북의 컴맨드라인 툴이기도 하고 iOS를 개발시에도 사용합니다.

Homebrew : 패키지 관리 시스템(Package Management System)으로 해당 툴을 이용하면 각종 소프트웨어 패키지를 다운받을 수 있다. 리눅스에서 사용하는 apt-get과 비슷하다고 생각하면 된다.

이제 아래의 내용을 보고 따라해 보도록 하겠습니다.

먼저 맥에서 아래와 같이 터미널을 하나 열어 줍니다.

 

 

1. 맥북 커맨드라인 툴인 x-code 설치

bongsookim@bongsooui-MacBookPro ~ % xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

설치가 완료되어 있다면 저 처럼 위와 같은 에러가 날 것이고 아니라면 그냥 실행 하시면 됩니다.

 

 

2. 루비를 이용해 Homebrew를 설치

이제 루비를 통해서 Homebrew를 설치해보겠습니다.

bongsookim@bongsooui-MacBookPro ~ % ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

이렇게 명령어를 입력하게 되며 중간 중간에 엔터를 몇번 쳐주시면 됩니다.

 

그럼 아래와 같이 마지막이 나오게 됩니다.

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

 

그럼 이제 잘 설치 되어 있는지 확인을 위해서 아래와 같은 명령어를 처봅니다.

brew doctor

Your system is ready to brew.

 

3. Homebrew를 이용하여 MariaDB설치

터미널 창에 brew install mariadb 라고 적고 엔터를 치면 아래와 같이 화면이 진행 되는 것을 확인 할 수 있습니다.

bongsookim@bongsooui-MacBookPro ~ % brew install mariadb
==> Installing dependencies for mariadb: mecab, mecab-ipadic, msgpack, openssl@1.1, pcre and groonga
==> Installing mariadb dependency: mecab
==> Downloading https://homebrew.bintray.com/bottles/mecab-0.996.catalina.bottle.3.tar.gz
==> Downloading from https://akamai.bintray.com/db/dba6306bcd5ddb9a824cb366b5432a036889440f2253634c99410fbb0abe0047?__gd
######################################################################## 100.0%
==> Pouring mecab-0.996.catalina.bottle.3.tar.gz
🍺  /usr/local/Cellar/mecab/0.996: 20 files, 4.2MB
==> Installing mariadb dependency: mecab-ipadic
==> Downloading https://homebrew.bintray.com/bottles/mecab-ipadic-2.7.0-20070801.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/90/9027197

조금 지나서 설치가 완료가 되는 것을 확인 할 수 있습니다.

그럼 이제 설치 확인 되었는지 상태 점검 단계로 넘어가 보도록 하겠습니다.

 

4. 설치한 MariaDB 상태 점검하기

db 서버 시작을 위해 터미널에 다음의 명령어를 입력 해봅니다.

mysql.server start

잘 시작되는 것을 확인 할 수 있습니다.

mysql.server stop  실행중인 서버 멈춤때는 해당 명령어를 실행 시킵니다.

mysql.server status 실행중인 서버의 상태확인을 하는 명령어 입니다.

 

5. 접속하기

이제 모든 준비가 되었습니다.

설치가 완료 되었고 상태도 확인 했습니다.

그럼 이제 접속을 한번 해보도록 할게요.

 

 mysql -uroot 서버에 접속하기

 

그럼 접속이 되는 것을 확인 할수 있습니다.

그런데 아래와 같은 에러가 발생한다면?

 

bongsookim@bongsooui-MacBookPro ~ % mysql -uroot 

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

 

$ sudo mysql -u root # sudo 명령어를 통해서 root계정으로 mysql에 접속 

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
+------------+----------------------------+-----------------------+
| User       | Host                       | plugin                |
+------------+----------------------------+-----------------------+
| root       | localhost                  | auth_socket |
| bongsookim | localhost                  | mysql_native_password |
|            | localhost                  |                       |
|            | bongsooui-macbookpro.local |                       |
+------------+----------------------------+-----------------------+

mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> select user, host, plugin from user;
+------------+----------------------------+-----------------------+
| User       | Host                       | plugin                |
+------------+----------------------------+-----------------------+
| root       | localhost                  | mysql_native_password |
| bongsookim | localhost                  | mysql_native_password |
|            | localhost                  |                       |
|            | bongsooui-macbookpro.local |                       |
+------------+----------------------------+-----------------------+


mysql> exit;

 

이렇게 완료를 하게 되면

root로 접속해보면 잘 접속 되는 것을 확인 할 수 있습니다.

 

 

반응형
반응형

 

 

 

안녕하세요 봉자씨입니다

먼저 디비가 필요하게 되면 요즘은 위와 같은 고민을 하게 됩니다.

MySql이나 MariaDB 중에 무엇을 설치 해야 하는 것일까?

 

설치하기 전에 이건 알고 지나가야 할 것 같아 적어 봅니다.

MySql이나 MariaDB 중에 무엇을 설치 해야할까라는 고민과 부담이 조금 덜해지는 근본적인 상식입니다.

 

mysql이 오라클에 인수되면서기존 개발자가 나와서  호환되게 만든 것이 mariaDB입니다.

 

 

 

그럼 그래서 무엇을 써야하는 것인가?

MySql & MariaDB 둘 중?

 

MySQL 에서 MariaDB 로 마이그레이션 해야할 10가지 이유라고 해서 2015년도에 쓰여진 글에 의하면 아래와 같은 차이가 있습니다.

결국은 이 글의 결론은 MariaDB로 마이그레이션을 해야 한다고 말하고 있습니다.
https://seravo.fi/2015/10-reasons-to-migrate-to-mariadb-if-still-using-mysql

여기서 간단하게 정리하면 아래와 같습니다.

 

1) MariaDB 개발이 좀 더 개방적이고 활발함
2) 빠르고 투명한 보안패치 릴리즈
3) 좀 더 다듬어진 기능들
4) 더 많은 스토리지 엔진
5) 나은 성능
6) Galera 액티브-액티브 마스터 클러스터링
7) 오라클 관리하의 불확실성
8) 유명세가 높아지고 있음
9) 호환성과 쉬운 마이그레이션
10) 15년 이후에는 마이그레이션이 어려울 수 있음

 

그럼 저는 MariaDB를 사용하도록 하겠습니다.

감사합니다.

반응형