sudo apt-get update
sudo apt-get install mysql-server
설치 중간 중간 Password를 물어보는데 빈칸으로 두고 OK를 누르면 Ubuntu 서버 비밀번호와 자동으로 동기화 된다.
sudo ufw allow mysql
단, 카페24와 같이 외부 호스팅을 쓰는 경우에는 ufw를 enable하면 이중 방화벽이 되므로 쓰지 않는다. 제공하는 방화벽 포트를 열여주면 된다.
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
default_time_zone=Asia/Seoul 을 맨 아래에 적어넣음
default_time_zone = '+9:00'
sudo systemctl enable mysql // 사용 허가
sudo systemctl start mysql // 사용 시작
sudo service mysql restart // 재시작
sudo /usr/bin/mysql -u root -p
처음에 $ sudo mysql -u root -p 로 진행했더니 아래와 같은 에러가 발생했다.
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
해결방법: mysql 대신 /usr/bin/mysql 과 같이 경로를 정확하게 명시해주면 된다.
mysql> SELECT User, Host, authentication_string FROM mysql.user;
mysql> CREATE DATABASE 데이타베이스_이름 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> SHOW DATABASES;
mysql> CREATE USER 'testuser'@'%' IDENTIFIED BY 'mysql비번';
** ER_NOT_SUPPORTED_AUTH_MODE 가 생기는 경우
ALTER USER '[계정]'@'[호스트]' IDENTIFIED WITH mysql_native_password BY '[비밀번호]';로 처리함.
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL PRIVILEGES ON 데이터베이스이름.* to'testuser'@'%' with grant option;
mysql> FLUSH PRIVILEGES;
mysql> SHOW GRANTS FOR'testuser'@'%';
mysql> SELECT User, Host, authentication_string FROM mysql.user;
mysql -u 사용자 -p
sudo mysql -u root -p // 우분투에서 root 권한자 접속
Enter password: 에 비밀번호 넣으면 mysql> 콘솔로 접속된다.
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번');
또는
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '바꿀비번';