ubuntu 18.04에 mysql 설치하기

env : aws ec2

설치
mysql v14 설치됨 (2019년 9월 기준)

sudo apt-get update
sudo apt-get install mysql-server

보안 설정

sudo mysql_secure_installation

실행

sudo mysql -u root -p

mysql 8 설치하고 싶을 때

설치

wget -c https://repo.mysql.com//mysql-apt-config_0.8.13-1_all.deb 
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb 

sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb 를 입력하면 GUI창이 뜰 것.

tistory5.png

설치할 것 설정해주고 OK, 그 후 이어서

sudo apt update
sudo apt-get install mysql-server

이후엔 보안 위의 보안설정으로 가서 이어하면됨

ERROR 1698 (28000): Access denied for user 'root'@'localhost' 에러 처리

mysql을 처음 설치하고 들어가면 이렇게 되어있음

mysql> USE mysql;  
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------------------+  
| User | plugin |  
+------------------+-----------------------+  
| root | auth\_socket |  
| mysql.sys | mysql\_native\_password |  
| debian-sys-maint | mysql\_native\_password |  
+------------------+-----------------------+

두가지 옵션이 존재함
1.You can set the root user to use the mysql_native_password plugin

sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

service mysql restart

2.You can create a new db_user with you system_user (recommended)

sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;

service mysql restart

allow linux root user mysql root access without password

env : aws ec2


ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql\_native\_password BY ''

shell prompt에 git branch 표시하기

env : ubuntu 18.04
.git-completion.bash 파일 주소
.git-prompt.sh 파일 주소

~/.bashrc 설정

다음 코드를 ~/.bashrc 파일에 추가한다

source ~/.git-completion.bash
source ~/.git-prompt.sh
export PS1="\[\e[31m\]\u\[\e[0m\]@ \h:\${PWD} [\t]\\$\$(__git_ps1) "

git completetion은 생각보다 잘 동작하는것 같지는 않음.

sequelize log console에 안뜨게하기

간단한건데 몰랐었음
new Seqeulize()로 생성할때 logging: false 옵션을 준다.

자매품 포트넘버(타겟) 지정하기
옵션에 port: {port number} 옵션을 준다.

주의 /// mysql를 실행할 포트가아니라 mysql이 다른 포트에서 실행되고있을 때 타겟포트를 지정해주는것이다.