본문 바로가기

OS (Operating System)/Linux

wsl2에 mysql설치하기[펌]

728x90

 


linux{
	mysql 설치
	
	// mysqld.cnf 문서 수정, 아이피 허용 
	$ /etc/mysql/mysql.conf.d$ sudo vi mysqld.cnf
		bind-address            = 0.0.0.0 으로 변환 // 모든아이피허용
	
	//mysql 쉘 이동
	$ sudo mysql -u root -p
	
	mysql{
    	//( Mysql은 원격에서 root 사용자에 대한 접속을 기본적으로 거부하고있다)
        
		// host, user 정보 확인 ( root 계정으로는 local에서만 접근 가능함을 알 수 있다)
		mysql> SELECT Host,User,authentication_string FROM mysql.user;
        
        //계정생성 : create user '계정이름'@'허용이이피' identified by '암호';
		mysql> create user 'root'@'%' identified by 'root1234';
        
        //모든 ip 허용 : grant all on 'db이름'.* to '계정이름'@'허용아이피';
        mysql> grant all on *.* to root@'%';
        
        //적용
        mysql> flush privileges;
	}
}


error{
	// MySQL서버 접속 시 No directory, logging in with home=/ 
    홈 디렉토리가  "/"  로 설정되어있어서 발생
    
    $ sudo service mysql stop

	$ sudo usermod -d /var/lib/mysql/ mysql

	$ sudo service mysql start
}

출처 : https://velog.io/@antipiebse/wsl2%EC%97%90-mysql%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

wsl2에 mysql설치하기

이전에 만들어둔 ERD를 통해 DB설계를 간단하게 하고, 로컬로 DB서버를 열어 확인하려던 순간 에러가 발생했다. 이유는 즉, WSL2을 통해 VSCODE를 사용하기에 WSL2환경에서 켜진 DB서버를 찾았는데 MYSQL

velog.io

MYSQL설치

sudo apt install mysql-server //mysql을 설치

MYSQL시작

WSL 은 systemctl 을 지원하지 않으므로 service 명령어로 mysql 시작

sudo service mysql start 

error: /nonexistent

가끔 폴더를 찾을 수 없다는 에러가 발생하는데 폴더를 만들어주면 된다.

sudo mkdir /nonexistent

MYSQL환경 설정

sudo mysql_secure_installation

위 명령어를 입력하면 비밀번호를 입력하라 하고 이러한 로그가 뜬다.

위처럼 따라해도 좋다.

MYSQL 사용

mysql쉘로 이동

mysql -u root -p

MYSQL DB목록 확인

mysql> show databases;

새로운 DB생성

mysql> create database project-name; //필자는 myproject02로 생성

DB목록을 확인하는 명령어로 생성을 확인해보자

잘 생성되었다.


에러?

새로 만든 DB가 가끔 오류나서 테이블이 꼬이는 경우가 존재한다. 왜인지는 자세히 모르지만 지우고 다시 만들어보자.

mysql> DROP database myproject02; //해당 db삭제
mysql> CREATE database myproject02; //새로운 db생성

마치며

윈도우로 개발을 하면 정말 많은 에러를 마주할 수 있다. 에러 핸들링 실력을 키우고 싶으면 window를 사용해라...

728x90