mysql에 로그인하고 Linux 터미널에서 데이터베이스를 쿼리하는 방법


104

데비안 리눅스를 사용하고 있습니다. mysql이 설치된 Linux 시스템이 있습니다. 다른 사용자뿐만 아니라 루트 사용자를 사용하여 내 Linux 시스템에 로그인 할 수 있습니다. sqlyog를 사용하여 Windows 시스템에서 Linux 시스템의 mysql 데이터베이스에 연결할 수 있습니다. 이제 Linux 터미널 만 사용하여 Linux 컴퓨터에서 쿼리를 실행하고 싶습니다.

나는 터미널에서 다음과 같은 것들을 시도했습니다.

루트 디렉토리로 이동 한 다음 / var / lib 디렉토리로 이동했습니다.

터미널에서 다음 명령을 실행합니다.

mysqladmin -u root -p
mysqladmin -u root -ppassword

다음과 같은 오류 메시지가 나타날 때마다

오류 1045 (28000) 'root'@ 'localhost'사용자에 대한 액세스가 거부되었습니다 (암호 NO 사용).

다음을 안내 해주세요

  1. Linux 터미널에서 mysql 프롬프트를 어떻게 얻습니까?
  2. Linux 터미널에서 mysql 서버를 어떻게 중지합니까?
  3. Linux 터미널에서 mysql 서버를 시작하려면 어떻게해야합니까?
  4. Linux 터미널에서 mysql 프롬프트를 어떻게 얻습니까?
  5. Linux 터미널에서 mysql 서버에 어떻게 로그인합니까?
  6. 다음 오류를 어떻게 해결합니까?

오류 1045 (28000) 'root'@ 'localhost'사용자에 대한 액세스가 거부되었습니다 (암호 NO 사용).

위의 질문에 대한 해결책을 알려주십시오. 감사합니다


1
이 명령을 실행할 때마다 mysql -u root -p 암호를 묻지 않고 "오류 1045 (28000) 사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다 (암호를 사용하지 않음)"라는 오류 메시지가 나타납니다. 또 다른 질문은 루트 폴더에서 위의 명령 루트 프롬프트를 실행하거나 특정 디렉토리로 이동해야합니까? 나에게 그 길을 줘 감사합니다!
Param-Ganak 2011-06-01

다음과 같이 명령 구문을 변경해보십시오. "mysql --user = root --password"(명령 줄에 입력 할 때 따옴표를 제거하십시오). 그렇지 않으면 암호를 입력하라는 메시지가 표시되지 않고 mysql 범위 밖에서 다른 일이 벌어 질 수 있다고 의심됩니다.
baraboom

답변:


180

1.- Linux 터미널에서 mysql 프롬프트를 어떻게 얻습니까?

mysql -u root -p

상기 Enter password:프롬프트 아니라, 루트 암호를 입력 :

입력 mysql --help하거나 온라인 설명서 에서 추가 참조를 찾을 수 있습니다 .

2. Linux 터미널에서 mysql 서버를 중지하려면 어떻게해야합니까?

때에 따라 다르지. Red Hat 기반 배포판에는 다음 service명령이 있습니다.

service mysqld stop

다른 배포판은 init 스크립트를 직접 호출해야합니다.

/etc/init.d/mysqld stop

3. Linux 터미널에서 mysql 서버를 시작하려면 어떻게해야합니까?

# 2와 같지만 start.

4. 리눅스 터미널에서 mysql 프롬프트를 어떻게 얻습니까?

# 1과 동일합니다.

5. Linux 터미널에서 mysql 서버에 어떻게 로그인합니까?

# 1과 동일합니다.

6. 다음 오류는 어떻게 해결합니까?

# 1과 동일합니다.


10

첫 번째 질문에 :

mysql -u root -p

또는

mysqladmin -u root -p "your_command"

무엇을하고 싶은지에 따라. Enter 키를 누르면 비밀번호가 입력됩니다! 나는 당신이 정말로 mysqladmin이 아닌 mysql 을 사용하고 싶다고 생각합니다 .

Linux에서 MySQL 서버를 다시 시작하거나 중지하려면 설치에 따라 다르지만 일반적인 데비안 파생 제품에서는 서비스를 시작, 중지 및 다시 시작하는 데 작동합니다.

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status

일부 최신 배포판에서는 MySQL이 데몬 / 서비스로 설정된 경우에도 작동 할 수 있습니다.

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

그러나 특정 설정을 알지 못하면 질문에 답하기가 정말 불가능합니다.


이 명령을 실행할 때마다 mysql -u root -p 암호를 묻지 않고 "오류 1045 (28000) 사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다 (암호 NO 사용)"라는 오류 메시지가 나타납니다. 루트 폴더에서 위의 명령 루트 프롬프트를 실행하거나 특정 디렉토리로 이동해야합니까? 경로를 알려주십시오. 감사합니다
Param-Ganak 2011-06-01

특정 디렉토리로 이동할 필요가 없습니다. 어디서나 실행할 수 있습니다. 당신은에 대한 응답을 붙여 넣을 수 uname -amysql --version와 (그냥 터미널에 입력) 여기에 붙여 넣습니다. 그러면 더 많은 도움을 드릴 수 있습니다. service mysql status도움이 될 것입니다.
flindeberg

5

나는 당신이 mysql 클라이언트를 사용하려고한다고 가정한다. 이것은 좋은 일이고 어떤 phpMyAdmin 대안보다 훨씬 더 효율적이다.

명령 줄 클라이언트로 로그인하는 올바른 방법은 다음을 입력하는 것입니다.

mysql -u username -p

암호를 입력하지 않았습니다. 그렇게하면 암호가 화면에 표시되므로 다중 사용자 환경에서는 좋지 않습니다!

이 히트 엔터 키를 입력하면 mysql이 암호를 묻습니다.

로그인 한 후에는 물론 다음이 필요합니다.

use databaseName;

무엇이든 할 수 있습니다.

행운을 빕니다.


이 명령을 실행할 때마다 mysql -u root -p 암호를 묻지 않고 "오류 1045 (28000) 사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다 (암호 NO 사용)"라는 오류 메시지가 나타납니다. 루트 폴더에서 위의 명령 루트 프롬프트를 실행하거나 특정 디렉토리로 이동해야합니까? 나에게 그것의 경로를 줘. 감사합니다!
Param-Ganak

어떤 Linux 배포판에서 실행 중입니까?
stefgosselin

5

명령 프롬프트에서 다음을 시도하십시오.

mysql -u root -p

메시지가 나타나면 암호를 제공하십시오.


이 명령을 실행할 때마다 mysql -u root -p 암호를 묻지 않고 "오류 1045 (28000) 사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다 (암호를 사용하지 않음)"라는 오류 메시지가 나타납니다. 또 다른 질문은 루트 폴더에서 위의 명령 루트 프롬프트를 실행하거나 특정 디렉토리로 이동해야합니까? 나에게 그 길을 줘 감사합니다!
Param-Ganak 2011-06-01

경로가 구성되어있는 한 홈 디렉토리에서 실행할 수 있어야합니다. 작동해야합니다 ...
quarkonium 2011-06-01

4

오늘 ArchLinux VPS에서 똑같은 문제가 발생했습니다.

mysql -u root -p작동하지 않았지만 작동했습니다 mysql -u root -pmypassword.

내가 깨진 / dev / tty 장치 파일 (대부분 udev 업그레이드 후)이 있다는 것이 밝혀 졌으므로 mysql은 대화 형 로그인에 사용할 수 없습니다.

나는 결국 / dev / tty를 제거하고 mknod /dev/tty c 5 1chmod 666 /dev/tty. 그것은 mysql 문제와 다른 문제도 해결했습니다.


이것은 실제로 작동합니다! 이제 모든 사람이 bash_history에서 루트 암호를 볼 수 있습니다. : / / dev / tty가 엉망이라는 것을 어떻게 알았습니까?
user3870315

2

대부분의 Linux 시스템에서 mysql을 중지하거나 시작하려면 다음이 작동해야합니다.

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

다른 답변은 명령 줄에서 mysql 클라이언트에 액세스하는 데 유용합니다.

행운을 빕니다!


2
  1. mysql명령 을 사용해야합니다 . mysql RDBMS 용 명령 줄 클라이언트이며 대부분의 mysql 설치와 함께 제공됩니다. http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. mysql 데이터베이스를 중지하거나 시작하려면 ( '수작업으로'거의 필요하지 않음) stop또는 start매개 변수 와 함께 적절한 초기화 스크립트를 사용합니다 ( 보통 /etc/init.d/mysql stop. 그러나 이것은 Linux 배포에 따라 다릅니다. 일부 새로운 배포판은 service mysql start스타일을 권장 합니다.

  3. mysqlSQL 셸 을 사용하여 로그인하고 있습니다.

  4. 이중 '-p'매개 변수 때문에 오류가 발생했을 수 있습니다. 암호를 제공 -ppassword하거나 제공 -p할 수 있으며 대화식으로 암호를 입력하라는 메시지가 표시됩니다. 또한 일부 설치에서는 mysql (루트 아님) 사용자를 관리 사용자로 사용할 수 있습니다. 작동중인 연결 매개 변수를 얻으려면 sqlyog 구성을 확인하십시오.


2

"sudo mysql -u root -p"를 시도하십시오.


2

우분투에서 내가해야 할 일은 sudo mysql그놈 터미널에있는 것뿐입니다. 데이터베이스를 만들거나 테이블의 데이터를 쿼리 할 수 ​​있습니다.


1

그래도 db에 대한 액세스 권한이 없으면 1. ur 오류 메시지에 암호가 설정되어 있지 않습니까? 그런 다음 먼저 mysqlpasswd 'username'을 입력 한 다음 요청에 따라 암호 유형을 다시 지정한 다음 루트 인 경우 mysql -p를 사용하여 다시 액세스하십시오.


1

이미 루트로 로그인 한 경우

mysql -u root

그렇지 않으면 암호를 묻는 메시지가 오류로 반환됩니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.