본문 바로가기

StoreHouse/DataBase

Mysql 설치,유저생성,외부접속

3.23.42 버전 부터 groupadd 로 사용자 계정 설정 부분이 추가 되었습니다.

냠...mysql3.23.47 설치 하기 입니다 ^^

설치할 디렉토리는 /usr/local/mysql 입니다.

우선 전에 버전에서 mysql 아래 data 폴더를 다른 곳에 백업 한 후에 설치 해야 합니다.!!


◆소스 설치 하기◆

# groupadd mysql
# useradd -g mysql mysql

# tar zxvf mysql*
# mv ./mysql*/ /usr/local/mysql/

# cd /usr/local/mysql
# ./configure --prefix=/usr/local/mysql

# make
# make install

# ./scripts/mysql_install_db

# chown -R root /usr/local/mysql
# chown -R mysql /usr/local/mysql/data
# chgrp -R mysql /usr/local/mysql

# /usr/local/mysql/bin/safe_mysqld --user=mysql &
위 처럼 --user=mysql 로 했을 경우 /tmp/mysql.sock 파일을 읽지 못할 경우 root 로 하면 됨당..^^
# /usr/local/mysql/bin/safe_mysqld --user=root &

Starting mysql demon ~ 만 나와야 합니다.
mysql demon ended 나오면 설치 실패 !


그리고 mysql 에 접속 하면 됩니다 ^^
# ./bin/mysql
~~~
mysql>


전에 data 폴더를 옮기려면 , mysql 아래 data 폴더로 이동 시킨 후에 mysql 을 죽이고, 다시 살려야 합니
다.
# ./bin/mysqladmin shutdown

# /usr/local/mysql/bin/safe_mysqld --user=root &

# ./bin/mysql
ACCESS Denied

# ./bin/mysql -uroot -p
Enter Password:xxxxx

mysql>



◆바이너리 설치 하기◆

mysql-3.23.47-pc-linux-gnu-i686.tar.gz

# groupadd mysql
# useradd -g mysql mysql

# tar zxvf mysql*
# mv ./mysql*/ /usr/local/mysql/

# cd /usr/local/mysql
# ./scripts/mysql_install_db

# chown -R root /usr/local/mysql
# chown -R mysql /usr/local/mysql/data
# chgrp -R mysql /usr/local/mysql

# /usr/local/mysql/bin/safe_mysqld --user=mysql &
위 처럼 --user=mysql 로 했을 경우 /tmp/mysql.sock 파일을 읽지 못할 경우 root 로 하면 됨당..^^
# /usr/local/mysql/bin/safe_mysqld --user=root &

Starting mysql demon ~ 만 나와야 합니다.
mysql demon ended 나오면 설치 실패 !


그리고 mysql 에 접속 하면 됩니다 ^^
# ./bin/mysql
~~~
mysql>


다른 설치 방법 - 소스 컴파일 !cd ../mysql-3.23.47./configuremakemake installscripts/mysql_install_dbadduser mysql# In the file /etc/login.access add this line:-:mysql:ALL# So the user mysql never actualy logs inchown -R mysql.users /usr/local/varsafe_mysqld --user=mysql &# Hit mysqladmin -u root password 'yourpasswordhere'

★ my.cnf 설정

# cd /usr/local/mysql
# cd support*
# cp my-medium.cnf /etc/my.cnf

my.cnf 설정이 틀리면 mysql 이 시작 하지 않을 수 있습니다.
설정은 기존 파일에서 변경 하는 것이 좋습니다. ^^

★ mysql 중지
# cd /usr/local/mysql
# ./bin/mysqladmin -uroot -p shutdown


★mysql.server 데몬이 작동 하지 않을 경우 - 최신 버전
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file &
부분에
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file --user=root & 추가 !



★리눅스 팁 1가지
현재 디렉토리아래 있는 kkk 디렉토리를 /usr/local/apache/htdocs/ 아래로 이동 하는 명령
-r 이 디렉토리 아래도 통째로 복사 합니다 ^^

cp -r kkk /usr/local/apache/htdocs/



#############################################################
select * from user ;
그럼 사용자가 보일겁니다..

delete from user where user ='사용자명' ;

이렇게 하시면 사용자가 지워집니다..

답변이 됐는지 모르겠네요 ^^

그럼 수고하세요..

참 사용자에 대한 내용중에.

select * from db ;
해서 보시면 사용자가 있을겁니다. 데이터 베이스 억세스관련인데..

만약 사용자를 지우셨다면 이쪽에서도 마찬가지로 지워주세요..

delete from db where user = '사용자명';

이렇게요.


=====================================================
루트권한으로 접속

mysql -p -u root mysql

mysql -p mysql
======================================================
mysql 은 mysql만늬 계정이 필요 합니다..

/var/lib 디렉토리에 보시면 mysql 이라는 디렉토리가

있습니다..여기서 이 디렉토리의 소유자를 root 가 이닌

mysql 로 변경해 주시고 다시 실행 해 주세요

/var/bin]#chow -R mysql mysql

이러면 접속이 될거에요 그리고 루트 패스 워드는 꼭 걸어 주시구요^^

=============================================================
유저만들기
mysql -u root -p mysql

insert into user (host, user, password) values ('localhost', 'id', password('원하는패스'));

패스워드 바꾸기

mysqladmin password


http://www.mysql.com







=============================================================user 명 변경시..

mysql 에 들어가셔서 use mysql 로 mysql 디비를 선택하신후
user 테이블을 수정해 주시면 됩니다. 예를 들면,
update user set user='수정할username' where user = '잘못 입력된 username';

하시면 됩니다. 참고로 user는 select user from user; 로 보실수 있습니다.

=============================================================엑셀 파일 을 mysql 용으로 변환

load data infile "/xxx.txt" into table 테이블명;

이케 해 주면 되던데여~~

테이블의 field 값의 변수값과 매칭만 된다면
된다고 되어 있구여...

탭키로 구분하는것두 맞구여...
만약 탭키때문에 매칭이 안 되었을수도 있으니까..
그러면 이케 하세요..
이름|전화번호|직장 등등 이런식으로 구분을 해 주면
됩니다..

=============================================================
my sql 유저 제거

mysql 에 보시면은

mysql 쳐서 접속하면은 mysql 이라는 DB NAME 가진 DB 가 있구

거기의 DB 중에 user 라는 Table 이 있습니다.

거기서 해당 사용자를 delete 시켜 주시고요

mysql restart 하시는 것이 좋을거 같습니다.

=============================================================
show databases

show databases

=============================================================
mysql 파일로 만들어 쿼리 던지기

당연히 편집기로 텍스트 파일을 만들어서 사용하죠.
sql 파일을 먼저 만드신 후에 mysql 내에서 불러올 수 있습니다.
mysql을 사용한지 오래 되어서 기억이 잘 나지 않습니다만,
일단 실행후에 help 명령을 쳐 보시면 나올 겁니다.

제 기억이 많다면 두 가지 방법이 가능할 겁니다.
sql 파일이름이 만약 data.sql 이라면

mysql> source data.sql

혹은 그냥 쉘에서

$ mysql < data.sql

이렇게 해 보세요.
=============================================================
외부에서 접속 방법
=============================================================


mysql 서버 디비중 mysql 이라는 디비가 있죠..
이 디비가 mysql 권한에 관한 설정들을 담고있는데요..
일단 mysql 안에 user 라는 테이블에 user 를 추가합니다.

insert into user (host,user,password) values ('211.xxx.xxx.xxx','kildong',password('lover'))

이렇게 하면 해당 211.xxx.xxx.xxx 호스트가 유저 kildong으로 lover 패스를통해 접속이 허가되게 됩니다.
그리고 db 테이블에 해당 디비를 kildong유저가 접속하게끔 권한을 삽입해야죠
통상 이렇게 합니다.
insert into db values ('%','디비명','kildong','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')

이렇게 하면 해당디비를 kildong유저가 사용하도록 권한을 주게 됩니다.
그리고 젤 중요한 권한설정을 업데이트해야겠죠?
즉, mysql이 다시 권한설정을 읽어들여서 적용하라고.
flush privileges;
이제 권한은 설정이 되었군요..
웹서버에서 디비서버로 접근할때 php경우는
mysql_connect('222.xxx.xxx.xxx','kildong','lover');
요렇게 하면 됩니다.

=============================================================
프로세스 확인
ps aux | grep mysql
=============================================================
먼저 mysql에 접속을 합니다 접속을 하면
mysql> <--- 프롬프트 뜹니다
여기서 db 생성은
mysql>create database 만들db명;

사용자 계정 만들때는 mysql db로 접근 하셔야합니다.
접근 명령어는 u mysql or use mysql 하시면 됩니다
접근을 하였으면
mysql>insert into user(host,user,password) values ('localhost','아이디,'암호');
하시면 사용자 계정이 맹글어 집니다. q 하시고 나오셔서
mysql 데몬을 다시 띄워주세요