[문제점]

mysql 이전버전 삭제 후 재설치 시 port 충돌 alert 발생

 

[해결방법]

Win+R을 누른 뒤 "resmon.exe" 입력하여 port number 3306을 찾은 후 taskkill 처리

 

[References]

https://0ver-grow.tistory.com/m/194?category=841784 

 

[에러/해결] MySQL the specified port already in use

위 사진처럼 포트번호 옆에 느낌표 발생 현재는 the specified port already in use 에러 발생. 이전 MySQL버전이 설치되어 있어서 생긴문제 이전 버전을 삭제하면 끝. 이제 삭제해보자 Win+R을 누른 뒤 "r

0ver-grow.tistory.com

 

728x90

 

[해결방법]

권한 해제 설정 후 mysql에 접속하여 root 비밀번호 재설정

 

[실행순서]

1. 명령 프롬프트(관리자 권한) 실행

 

2. mariadb 서비스 종료

net stop mariadb

 

3. mariadb 설치 경로 이동

cd C:\Program Files\MariaDB 10.4\bin

 

4. mysql 실행권한 설정 변경

mysqld -uroot --skip-grant-tables

 

5. 새 명령 프롬프트(관리자 권한) 실행

- mariadb 설치 경로 이동

 

6. 비밀번호 변경

mysql -uroot mysql
update user set password = PASSWORD('plz input your password') WHERE user = 'root';

 

[References]

 

https://yeolceo.tistory.com/109

 

Window MariaDB 비밀번호 분실 시 수정 -YEOL (MySql root password reset and update windows)

-Environment OS: Window 10 DB: MariaDB 10.3.13 -PassWord initialize and Update 1. mysql 서비스 종료 Window에서 '실행'을 시작합니다. (단축키 window+R) 내용에 services.msc를 입력하여 실행해 주세요. 서..

yeolceo.tistory.com

 

728x90

 

1. 계정 생성(권한부여 포함) 후 HeidSQL 실행

- 계정생성 및 권한부여 방법 : https://kirinkong.tistory.com/107?category=1049068

 

[MariaDB] 계정 생성 및 권한 부여

1. 계정생성 - 생성문법 : create user '계정명'@'접속위치(host)' identified by '비밀번호' - 접속위치 : 특정 IP 지정, 모든 IP 허용('%'), 내부만 허용('localhost') -- 계정생성 create user 'test'@'localho..

kirinkong.tistory.com

 

2. 세션 관리자 팝업에서 신규 세션 생성 

2-1) 신규 버튼 클릭

2-2) 사용자 : 생성한 계정의 계정명 입력

2-3) 암호 : 생성한 계정의 암호 입력

 

3. 데이터 베이스 생성

- 세션 선택 후 우클릭 > 새로 생성 선택 > 데이터베이스 클릭

 

- 데이터베이스 이름 입력 후 확인 클릭 

 

4. DBeaver 실행 후 새 데이터 베이스 연결 버튼 클릭

 

5. Connect to a database 팝업창에서 MariaDB 선택 후 다음 버튼 클릭

 

6. 데이터베이스 정보 입력

- Database : (3)에서 입력한 데이터베이스 이름 입력

- Username : (2)에서 입력한 사용자 입력

- Password : (2)에서 입력한 암호 입력

- Test Connection.. 버튼 클릭 후 성공 시 완료버튼 클릭

 

7. 연결완료 확인

728x90

'DB > MariaDB' 카테고리의 다른 글

[MariaDB] 재설치 시 port 충돌  (0) 2022.10.24
[MariaDB] root 비밀번호 분실  (0) 2022.10.24
[MariaDB] 계정 생성 및 권한 부여  (1) 2022.09.29
[MariaDB] MariaDB 10.1 설치  (0) 2022.09.19

 

1. 계정생성

- 생성문법 : create user '계정명'@'접속위치(host)' identified by '비밀번호'

- 접속위치 : 특정 IP 지정, 모든 IP 허용('%'), 내부만 허용('localhost')

-- 계정생성
create user 'test'@'localhost' identified by '1234';

-- 생성 확인
select host, user from mysql.user where user='test';

 

2. 계정삭제 

-  삭제문법 : drop user '계정명'@'접속위치(host)' 

-- 계정삭제
drop user 'test'@'localhost';

-- 삭제확인
select host, user from mysql.user where user='test';

 

3. 권한부여

- 모든 권한 부여 : grant all privileges on 데이터베이스명.테이블명 to '계정명'@'접속위치';

- 모든 권한 회수 : revoke all on *.* from '계정명'@'접속위치';

-- 초기 권한 확인
select * from mysql.user where user='test';

-- 모든 권한 부여
grant all privileges on *.* to 'test'@'localhost';

-- 권한 확인
select * from mysql.user where user='test';

-- 모든 권한 회수
revoke all on *.* from 'test'@'localhost';

-- 권한 확인
select * from mysql.user where user='test';

 

 

[References]

https://mentha2.tistory.com/110

 

MariaDB 계정 생성과 권한 부여 및 회수 하기(grant, revoke)

MariaDB에서 계정을 생성하고 권한 부여하는 방법입니다. 계정 생성 방법 계정 생성 : create user '계정명'@'접속 위치(host)' identified by '비밀번호'; 접속 위치 관련 설명, 특정 IP 지정, 모든 IP 허용('%').

mentha2.tistory.com

https://mentha2.tistory.com/71

 

[MariaDB 사용자 권한 설정] 권한 설정 종류 정리

MariaDB의 root계정은 데이터베이스 서버에 대한 모든 권한을 가지고, 데이터베이스가 지원하는 모든 행위를 할 수 있다. 이 행위에는 데이터베이스, 테이블의 삭제, 다른 사용자 계정의 패스워드

mentha2.tistory.com

 

728x90

'DB > MariaDB' 카테고리의 다른 글

[MariaDB] 재설치 시 port 충돌  (0) 2022.10.24
[MariaDB] root 비밀번호 분실  (0) 2022.10.24
[MariaDB] 데이터 베이스 생성 (DBeaver 연결)  (1) 2022.09.29
[MariaDB] MariaDB 10.1 설치  (0) 2022.09.19

 

개발환경 [Cafe24 호스팅]

 

1. 사이트 접속

https://mariadb.org/download/?t=mariadb&o=true&p=mariadb&r=10.1.48&os=windows&cpu=x86_64&pkg=msi

 

2. 다운로드

2-1) MariaDB Server Version 선택

2-2) Operating System 선택

2-3) Architecture 선택

2-4) Package Type 선택 : MSI Package(.MSI 파일 확장명 을 가진 파일 은 Windows Installer 패키지 파일입니다. )

 

3. msi 파일 실행 후 Next

 

4. License Agreement 체크 후 Next

 

5. 설치경로 설정 후 Next 

5-1) 기본경로로 설치하는 경우 변경사항 없음.

 

6. 사용자 환경설정

6-1) Modify password for database user 'root' : root 계정에 대한 비밀번호 설정

6-2) Enable access from remote machines for 'root' user : 외부에서  'root' 계정 접근에 대한 원격 접속 허용 설정

6-3) Create An Anonymous Account : 익명계정 생성 설정

6-4) Use UTF8 as default server's character set : UTF8(한국어를 포함한 다국어 표현) 기본으로 지정

 

7. 데이터베이스 설정

7-1) Install as service : 서비스명 설정 (기본 설정 그대로 유지)

7-2) Enable networking : 포트 번호 설정 (기본 설정 그대로 유지)

 

8. 설치 

 

9. 설치확인

9-1) MySQL Client 실행 (root 계정으로 접속)

9-2) password 입력

9-3) HeidiSQL 접속 후 신규 클릭

9-4) 접속정보 입력 후 열기 클릭

728x90

 

SIGN 함수는 인자가 음수, 0, 양수인지를 판별하여 다음과 같이 값을 리턴합니다.

1) 음수인 경우 return -1 

2) 0인 경우 return 0

3) 양수인 경우 return 1

 

[Examples]

SELECT SIGN(143-1948) FROM DUAL; -- RETURN -1
-- DECODE문을 활용하여 SIGN 함수를 사용하는 경우도 있습니다. (Max값 노출 기준 등에 활용)
-- SIGN(100-200) 이 음수인 경우 100을 RETURN
-- SIGN(100-200) 이 0인 경우 0을 RETURN
-- SIGN(100-200) 이 양수인 경우 200을 RETURN
SELECT DECODE(SIGN(100-200), -1, 100, 0, 0, 1, 200) AS TEST FROM DUAL; -- RETURN 100
728x90

테이블 CRUD 입력 쿼리 조회 구문입니다.

상황에 맞추어 수정하여 사용하면 됩니다.

 

[INSERT]

   SELECT 'INSERT INTO' || TABLE_NAME || '( /*' || COMMENTS || ' */'
     FROM ALL_TAB_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME
UNION ALL 
   SELECT CASE WHEN ROWNUM = 1 THEN '' ELSE ', ' END || COLUMN_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_COL_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME
UNION ALL
   SELECT ') VALUES ('
     FROM DUAL
UNION ALL
   SELECT CASE WHEN ROWNUM = 1 THEN '' ELSE ', ' END || COLUMN_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_COL_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME
UNION ALL
   SELECT ')'
     FROM DUAL;

 

[SELECT]

   SELECT CASE WHEN ROWNUM = 1 THEN 'SELECT ' ELSE ', ' END || COLUMN_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_COL_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME
UNION ALL
   SELECT 'FROM ' || TABLE_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_TAB_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME;

 

[UPDATE]

   SELECT 'UPDATE ' || TABLE_NAME || ' /* ' || COMMENTS || ' */' 
     FROM ALL_TAB_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME 
UNION ALL     
   SELECT CASE WHEN ROWNUM = 1 THEN 'SET ' ELSE ', ' END || COLUMN_NAME || ' = ' || COLUMN_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_COL_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME
UNION ALL
   SELECT CASE WHEN ROWNUM = 1 THEN 'WHERE ' ELSE 'AND ' END || COLUMN_NAME || ' = ' || COLUMN_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_COL_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME;

 

[DELETE]

   SELECT 'DELETE FROM ' || TABLE_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_TAB_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME;
UNION ALL
   SELECT CASE WHEN ROWNUM = 1 THEN 'WHERE ' ELSE 'AND ' || COLUMN_NAME || ' = ' || COLUMN_NAME || ' /* ' || COMMENTS || ' */'
     FROM ALL_COL_COMMENTS
    WHERE OWNER      = [스키마명]
      AND TABLE_NAME = :TABLE_NAME;
728x90

DATA_TYPE이 NUMBER인 경우 DATA_PRECISION 와 DATA_SCALE 을 확인해야 합니다.

DATA_SCALE 이 0인 경우 INTEGER로 간주할 수 있습니다.

 

· DATA_PRECISION : 전체 자릿수 (최대 38 자릿수)

· DATA_SCALE : 소수점 자리수

SELECT  A.TABLE_NAME
     ,  A.COLUMN_ID
     ,  A.COLUMN_NAME
     ,  B.COMMENTS
     ,  DATA_TYPE
     , (CASE WHEN DATA_TYPE LIKE '%CHAR%' THEN DATA_LENGTH||''
             WHEN DATA_TYPE = 'NUMBER' AND DATA_PRECISION > 0 AND DATA_SCALE > 0 THEN DATA_PRECISION||','||DATA_SCALE
             WHEN DATA_TYPE = 'NUMBER' AND DATA_PRECISION > 0 THEN DATA_PRECISION||''
         END) AS DATA_LENGTH
     ,  DECODE(A.NULLABLE, 'N', '', 'O') AS NULLABLE
  FROM  ALL_TAB_COLUMNS A
 INNER
  JOIN  ALL_COL_COMMENTS B
    ON  A.OWNER       = B.OWNER
   AND  A.TABLE_NAME  = B.TABLE_NAME
   AND  A.COLUMN_NAME = B.COLUMN_NAME
 WHERE  A.OWNER       = [스키마명]
   AND  A.TABLE_NAME  = UPPER([테이블명]);

 

[References]

http://www.gurubee.net/article/68709

 

ALL_TAB_COLUMNS 테이블 DATA_TYPE 질문이요

TBL_A 라는 테이블이 있고 COL_A라는 컬럼이 있습니다.   토드에서 테이블스키마를 보면 컬럼 타입이 INTEGER로 나오는데요 ALL_TAB_COLUMNS ..

www.gurubee.net

 

728x90

+ Recent posts