'mysql.user' 테이블이 없습니다. ERROR
저는 mysql에서 자바 프로그램을 위한 db를 만들고 있습니다.저의 프로그램은 친구 시스템에서 잘 작동합니다.하지만 제 mysql에 문제가 좀 있습니다.
쿼리는 아래와 같습니다.
mysql> create database sampledb;
Query OK, 1 row affected (0.00 sec)
mysql> use sampledb;
Database changed
mysql> create user zebronics identified by 'zebra123';
ERROR 1146 (42S02): Table 'mysql.user' doesn't exist
제 db에 사용자를 만들 수 없습니다.제발 도와주세요?
내 해결책은 실행하는 것이었습니다.
mysql_upgrade -u root
시나리오:맥에서 MySQL 버전을 '홈브루 업그레이드'로 업데이트 했습니다.그 후, 어떤 것들은 작동했지만, 다른 명령들은 문제에 설명된 오류를 제기했습니다.
당신의 MySQL 설치에 뭔가 문제가 있는 것 같습니다.mysql.user
테이블은 분명히 존재해야 합니다.서버에서 아래 명령을 실행하여 다음과 같은 데이터베이스에 테이블을 만들어 봅니다.mysql
:
mysql_install_db
만약 그것이 작동하지 않는다면, MySQL 데이터 디렉토리의 권한이 엉망이 될 수도 있습니다.사용 권한이 무엇인지에 대한 참조로 "양호한 것으로 알려진" 설치를 살펴봅니다.
MySQL을 완전히 다시 설치해 볼 수도 있습니다.
lxxvi에서 설명하는 것과 동일한 문제입니다.입니다.
mysql_upgrade -u root
비밀번호를 성공적으로 입력할 수 있게 해줬습니다
mysql_secure_installation
기다리고 있었습니다.
데이터베이스가 손상되었을 수 있습니다.mysql.user가 존재하는지 확인해 보십시오.
use mysql;
select * from user;
이러한 항목이 없는 경우 다음을 사용하여 테이블을 다시 만들어 보십시오.
mysql_install_db
또는 MySQL을 치료(완전히 제거)하고 다시 설치해야 할 수도 있습니다.
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| datapass_schema |
| mysql |
| test |
+--------------------+
4 rows in set (0.05 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables
-> ;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
23 rows in set (0.00 sec)
mysql> create user m identified by 'm';
Query OK, 0 rows affected (0.02 sec)
데이터베이스 mysql 및 테이블 사용자가 위와 같이 작동하는지 확인하십시오. 만약 그것이 작동하지 않는다면, 당신의 mysql 설치가 적절치 않습니다.
다른 게시물에 언급된 것처럼 아래 명령을 사용하여 테이블을 다시 설치합니다.
mysql_install_db
다음 쿼리를 실행하여 사용자 테이블이 있는지 확인할 수 있습니다.
SELECT * FROM information_schema.TABLES
WHERE TABLE_NAME LIKE '%user%'
다음 값을 가지는 행을 찾을 수 있는지 확인합니다.
mysql user BASE TABLE MyISAM
이 표를 찾을 수 없는 경우 다음 링크를 참조하여 데이터베이스를 재구축하는 방법mysql의 기본 'mysql' 데이터베이스를 복구/재작성하는 방법
실행해보기mysqladmin reload
, 에 위치한/usr/loca/mysql/bin/
맥에서
'Error Code: 1046'.
이 오류는 다른 데이터베이스를 선택하고 다른 테이블을 참조하는 쿼리를 실행한 것이 테이블이 존재하지 않는 경우가 있음을 보여줍니다.결과는 'No database selected - No database selected 사이드바의 SCHEMAS 목록에서 이름을 두 번 클릭하여 사용할 기본 DB를 선택합니다'를 나타냅니다.문제를 해결할 것이고 저에게는 아주 잘 통했습니다.
빈 데이터베이스에서 grant/privaces 쿼리를 실행할 때 종종 발생합니다.
MySQL 8.0.16 ,mysql_upgrade
사용하지 않습니다. 다음을(를) 사용해야 합니다.
- 중의 하나
--upgrade=FORCE
를 시작하면서mysqld
- 아니면 추가
upgrade=FORCE
[mysqld]
n의my.cnf
그리고 달리다service mysql restart
오).my.cnf
서버가 다시 시작되면 다시 시작할 때 업그레이드를 방지합니다.)
언급URL : https://stackoverflow.com/questions/17780630/table-mysql-user-doesnt-existerror
'source' 카테고리의 다른 글
WPF에서 데이터 그리드를 새로 고치는 방법 (0) | 2023.10.04 |
---|---|
javascript/jQuery에서 문자열을 숫자로 변환하는 중 (0) | 2023.10.04 |
배열 vs.자바스크립트에서 객체 효율성 (0) | 2023.10.04 |
Swagger API 작업 순서 지정 (0) | 2023.10.04 |
판독 가능한 방법으로 dplyr 개수의 고유 개수 가져오기 (0) | 2023.10.04 |