mysql에 로그인하고 Linux 터미널에서 데이터베이스를 쿼리하는 방법
저는 debian linux를 사용하고 있습니다.mysql이 설치되어 있는 Linux 머신이 있습니다.root 사용자뿐만 아니라 다른 사용자도 사용하여 Linux 시스템에 로그인할 수 있습니다.sqlyog를 사용하여 윈도우즈 시스템에서 Linux 시스템의 mysql 데이터베이스에 연결할 수 있습니다.이제 Linux 터미널을 사용하여 Linux 머신에서만 쿼리를 실행합니다.
나는 터미널에서 다음과 같은 것들을 시도했다.
루트 디렉토리로 이동한 후 /var/lib 디렉토리로 이동했습니다.
터미널에서 다음 명령을 실행합니다.
mysqladmin -u root -p
mysqladmin -u root -ppassword
다음 오류 메시지가 나타날 때마다
오류 1045(28000) 사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다(암호 NO 사용).
아래를 안내해주세요.
- Linux 터미널에서 mysql 프롬프트를 표시하려면 어떻게 해야 하나요?
- Linux 터미널에서 mysql 서버를 중지하려면 어떻게 해야 합니까?
- Linux 터미널에서 mysql 서버를 부팅하려면 어떻게 해야 하나요?
- Linux 터미널에서 mysql 프롬프트를 표시하려면 어떻게 해야 하나요?
- Linux 터미널에서 mysql 서버에 로그인하려면 어떻게 해야 하나요?
- 다음 오류를 해결하려면 어떻게 해야 합니까?
오류 1045(28000) 사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다(암호 NO 사용).
위의 질문에 대한 해결책을 알려주세요.감사해요.
1.- Linux 터미널에서 mysql 프롬프트를 표시하려면 어떻게 해야 하나요?
mysql -u root -p
Enter password: wellroot의 합니다. : )、 ' prompt 、 ' prompt prompt prompt prompt prompt prompt 。 : )
내용은 ' 낫다'를 하면 알 수.mysql --help또는 온라인 매뉴얼을 참조하십시오.
2. Linux 터미널에서 mysql 서버를 정지하려면 어떻게 해야 하나요?
정정사르 르는 Red Hat을 합니다.service★★★★★★★★★★★★★★★★★★:
service mysqld stop
다른 디스트로는 init 스크립트를 직접 호출해야 합니다.
/etc/init.d/mysqld stop
3. Linux 단말기에서 mysql 서버를 부팅하려면 어떻게 해야 하나요?
하지만, 2가 붙어 .start.
4. Linux 터미널에서 mysql 프롬프트를 표시하려면 어떻게 해야 하나요?
1번이랑 똑같아.
5. Linux 터미널에서 mysql 서버에 로그인하려면 어떻게 해야 하나요?
1번이랑 똑같아.
6. 다음 오류를 해결하려면 어떻게 해야 합니까?
1번이랑 똑같아.
첫 번째 질문에 대해:
mysql -u root -p
또는
mysqladmin -u root -p "your_command"
하고 싶은 거에 따라서.Enter 키를 누르면 암호가 요구됩니다!mysqladmin이 아니라 mysql을 정말 사용하길 원하시나 봐요.
Linux에서 MySQL-server를 재시작 또는 정지하려면 설치에 따라 다르지만 일반적인 debian 파생 모델에서는 다음과 같이 서비스를 시작, 중지 및 재시작할 수 있습니다.
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이 deamon/service로 설정되어 있는 경우에도 이 기능이 작동할 수 있습니다.
sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status
하지만 이 질문은 특정 설정을 모르면 대답하기가 정말 불가능합니다.
mysql 클라이언트를 사용하시는 것이 좋을 것 같습니다.이것은 다른 어떤 phpMyAdmin보다 훨씬 효율적입니다.
명령줄 클라이언트에 로그인하려면 다음과 같이 입력합니다.
mysql -u username -p
비밀번호를 입력하지 않았습니다.이렇게 하면 패스워드가 화면에 표시되므로 다중 사용자 환경에서는 좋지 않습니다.
이 입력 키를 입력하면 mysql이 비밀번호를 묻습니다.
로그인하면 물론 다음 사항이 필요합니다.
use databaseName;
무슨 일이든 할 수 있어.
행운을 빈다.
명령 프롬프트에서 다음을 수행합니다.
mysql -u root -p
프롬프트가 뜨면 비밀번호를 입력합니다.
오늘 ArchLinux VPS에서도 똑같은 문제가 발생했습니다.
mysql -u root -p없었던 ,mysql -u root -pmypassword
알고 보니 망가진 /dev/tty 디바이스 파일(아마도 udev 업그레이드 후)이 있어서 mysql은 인터랙티브 로그인에 사용할 수 없었습니다.
/dev삭제하고 /dev/tty로 .mknod /dev/tty c 5 1 ★★★★★★★★★★★★★★★★★」chmod 666 /dev/ttymysql을 지정하다
도 이렇게 써야 요.
mysql명령어를 입력합니다.mysql RDBMS용 명령줄 클라이언트이며 대부분의 mysql 설치와 함께 제공됩니다.http://dev.mysql.com/doc/refman/5.1/en/mysql.html할가 거의 ), """"""""""""""""""""""""""""""""""""" """" """"""" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
stop★★★★★★★★★★★★★★★★★」start, 통상은 「」, 「」/etc/init.d/mysql stop, 、 、 Linux 、 는라집집니다다 。는 ""를 장려합니다.service mysql start를
mysqlshellsql »이 오류는 이중 '-p' 매개 변수가 원인일 수 있습니다. 때 '아까불까불까불까불까불까불까불까불까불까불까불까불까불까요?
-ppassword그냥 '그냥'일 수도 있어요.-p인터랙티브하게 패스워드를 입력하도록 요구됩니다., 의 인스톨에서는,mysql(루트가 ) 하는 경우가 sqlyog 구성을 확인하여 작동 중인 연결 매개 변수를 얻으십시오.
sudo mysql - u root -p 를 입력해 주세요.
.sudo mysqlGNOME gn gn gn gn gn gn gn gn gn gn gn gn gn데이터베이스 작성이나 테이블 내의 데이터 쿼리를 시작할 수 있습니다.
대부분의 Linux 시스템에서 mysql을 중지하거나 시작하려면 다음 작업을 수행해야 합니다.
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
다른 답변은 명령줄에서 mysql 클라이언트에 액세스하는 데 적합합니다.
행운을 빕니다.
여전히 DB에 액세스할 수 없는 경우 1. 오류 메시지에 비밀번호가 설정되지 않았습니다. 맞죠?그런 다음 mysqlpasswd 'passwd'를 먼저 입력하고 요청한 대로 다시 비밀번호 유형을 입력한 후 루트인 경우 mysql -p로 다시 액세스를 시도합니다.
root로 이미 로그인한 경우
mysql -u root
그렇지 않으면 암호는 오류로 반환됩니다.
먼저 루트 디렉토리에서 터미널 실행
sudo su
Enter 키를 누르고 루트 비밀번호를 입력한 후 이 명령을 사용하여 mysql을 실행합니다.
mysql -u root -p
Enter 키를 누른 후 mysql 비밀번호를 입력합니다.
행운을 빈다.
mysql -u username -p password
관리자로서
sudo mysql -u username - p password
MySQL에서는 여러 가지 방법으로 사용자를 인증할 수 있습니다.이러한 플러그인을 "인증 플러그인"이라고 하며, 각 사용자는 고유한 플러그인을 지정할 수 있습니다.되어 있는 하려면 , 「」를 합니다.plugin의 값mysql.user 기타 시스템)에서는 MySQL.Ubuntu는 MySQL로 됩니다.root에 의해되고 있습니다.이것에 의해, 지금까지의 불일치가 설명되고 있습니다.
MySQL "MySQL"root에게 되어 있다auth_socket에게는 「」, 「」의 어느쪽인가가 됩니다.mysql_native_password8 버전) (MySQL 8 전))caching_sha2_password(MySQL 8+). '보다, 보다, 보다, 보다, , 보다, 보다, 라고 볼 수 .
# Prior to MySQL 8
mysql> USE mysql;
mysql> SELECT plugin FROM mysql.user WHERE user='root';
+-------------+
| plugin |
+-------------+
| auth_socket |
+-------------+
mysql> SELECT plugin FROM mysql.user WHERE user='basic_db_user';
+-----------------------+
| plugin |
+-----------------------+
| mysql_native_password |
+-----------------------+
또는
# MySQL 8 and above
mysql> USE mysql;
mysql> SELECT plugin FROM mysql.user WHERE user='root';
+-------------+
| plugin |
+-------------+
| auth_socket |
+-------------+
mysql> SELECT plugin FROM mysql.user WHERE user='basic_db_user';
+-----------------------+
| plugin |
+-----------------------+
| caching_sha2_password |
+-----------------------+
auth_socket는 소켓 인증입니다.연결하고 있는 Unix 사용자를 같은 이름의 MySQL 사용자와 대조함으로써 동작합니다(있는 경우).이는 로컬로 연결할 때만 작동하므로 권한 있는 MySQL에 적합합니다.root 「」, 「」auth_socket 다른 수 root 사용자의 「」( 레벨의 「」도 없는 한)root을 사용하다이 경우, 이미 당신의 머신을 소유하고 있습니다).
다.mysql_native_password ★★★★★★★★★★★★★★★★★」caching_sha2_password는 패스워드 인증 형식입니다.MySQL에 액세스하는 것과 MySQL에 액세스하는 것의 차이를 이해하려면root사용자 및 표준 사용자로서 비밀번호 인증과 소켓 인증 간의 로그인 프로세스를 비교합니다.
패스워드 인증
일반적으로 권장되는 명령을 사용하여 로컬 MySQL 서버에 액세스하려고 합니다.는 Unix/Linux OS " " 입니다.joeuser 사용자 MySQL로 joesql. 를 입력합니다.
joeuser@localhost:~$ mysql -u joesql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
접속이 성공했습니다.서 일이 요.mysql)$ which mysql는 ""를 됩니다.-u, joesql, -p 유저 「로서 접속하려고 있는 을 알 수 joesql을합니다.plugin의 의 값mysql.user★★★★★★에joesql 「아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아,caching_sha2_password따라서 접속하기 위해서는 패스워드가 필요하다는 것을 알 수 있습니다.서 -p하는 것을 command-line 인수는 패스워드 입력을 합니다.하면 MySQL은 해시를 를 MySQL의 합니다.joesql로 접속할 수 있습니다.joesql.
소켓 인증
MySQL 에 MySQL "MySQL" "MySQL" "MySQL" "MySQL" "MySQL" "MySQL" "MySQL" "MySQL" "MySQL" "MySQL" "MySQL" "MySQL"로.root에게 한 것과 . 표준 사용자에게 사용한 것과 같은 명령어를 순진하게 시도합니다.joesql지적한 문제에 부딪힙니다.
joeuser@localhost:~$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
는 MySQL MySQL에 대해 에도 발생합니다.root뜨면 입력합니다.user user 를 user는 메시지를 표시합니다.래서서 어떻? ???같이, 「 」를 했습니다.mysql 를 사용한 -u, root, -p MySQL 로서 접속하는 에 root할 때 입니다. 지만 、 ,, 、 스템이이plugin의 의 값mysql.user★★★★★★에root , 을 찾습니다.auth_socket1번으로 하다
따라서 패스워드를 요구하는 대신 Unix/Linux 시스템이 이 목적을 위해 명시적으로 작성한 지정된 소켓파일을 체크합니다.이 소켓파일에는, 조작하고 있는 OS 유저의 이름이 포함됩니다.패스워드를에, 「」를 해 주세요.auth_socket사용자명과 일치합니다.따라서있는 사용자 하여 OS 사용자 이름을 합니다.joeuser 「MySQL」로.root 、 「 」 、 「 」 、 「 」라고 하게 쓸모없는 합니다.Access denied for user 'root'@'localhost'.
따라서 Linux에서는 sudo를 추가하는 표준적인 작업을 수행하여 원하는 작업을 수행합니다.
joeuser@localhost:~$ sudo mysql -u root -p
[sudo] password for joeuser:
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
이거 되는구나.게게왜 혔??할 때 은 사용자가 명령어를 사용하고 입니다.sudo을 root 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」,sudo해당 사용자로 됩니다.지정되면 나머지 명령어는 해당 사용자로 실행됩니다.할 때 은 Unix "MySQL "에서됩니다.root 아니라, 이에요.joeuserMySQL의 소켓 인증은 같은 이름의 MySQL 사용자와 일치합니다.이 시점에서는 인증이 통과되지만, 특별히 패스워드를 요구받았습니다.-p MySQL을 root후 서버에 됩니다.MySQL을 사용하다
소켓 인증이 일치하는 사용자 이름(Unix username과 MySQL username)을 기반으로 하는 경우 패스워드가 필요합니까?아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, -p다음을 수행합니다.
joeuser@localhost:~$ sudo mysql -u root
[sudo] password for joeuser:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
MySQL 합니다.root패스워드이것은 MySQL에서만 동작합니다.root및 그 가 「」를 사용하도록 되어 있는 만.auth_socket인증 플러그인으로 사용합니다.
요약
16~20에서는 Ubuntu에 할 수 .mysql 개요:
MySQL
root"사용자:$ sudo mysql -u root(sudo 비밀번호 입력)
사용자: "MySQL " " :
$ mysql -u <username> -p(<username> MySQL 비밀번호 입력)
물론 Ubuntu가 아닌 Debian Linux에 대해 질문하셨습니다.Ubuntu는 Debian에서 직접 파생된 것으로, 제가 여기서 말한 것과 비슷하다고 생각합니다.Linux의 다양한 배포판 및 버전에 따라 위의 설명이 어떻게 달라지는지에 대한 코멘트는 환영합니다.
이 "mysql -uroot -pPassword" 사용
언급URL : https://stackoverflow.com/questions/6200215/how-to-log-in-to-mysql-and-query-the-database-from-linux-terminal
'source' 카테고리의 다른 글
| Wordpress에서 게시물의 작성자 ID 가져오기 (0) | 2023.02.08 |
|---|---|
| 루비 XML-JSON 변환기? (0) | 2023.02.08 |
| mysql Import 속도를 향상시키다 (0) | 2023.02.05 |
| 크기를 지정하는 것만으로 Kotlin에서 Java와 같은 어레이를 작성하려면 어떻게 해야 합니까? (0) | 2023.02.05 |
| Java 8: Java.util.function의 TriFunction(및 kin)은 어디에 있습니까?아니면 대체방법이 뭐죠? (0) | 2023.02.05 |