|
|
|
|||
| WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Это приложение перечисляет типичные проблемы и ошибки, которые могут
произойти и потенциальные решения, в дополнение к перечислению ошибок,
которые могут появиться, когда Вы вызываете MySQL из любого языка. Первый
раздел покрывает проблемы и решения. Подробная информация об ошибках
обеспечена: один список включает сообщения об ошибках сервера. Другой список
включает сообщения программы клиента. Есть несколько источников информации об ошибке в MySQL: Каждый запрос SQL выдает результаты в коде ошибки, значении
SQLSTATE и сообщении об ошибке, как описано в
разделе B.2. Эти ошибки возвращены с
сервера, см. раздел B.3. Описания ошибок сервера и клиента обеспечены позже в этом Приложении.
Для информации об ошибках, связанных с
Когда ошибка происходит в MySQL, сервер возвращает два типа значений: MySQL-код ошибки. Это значение является числовым. Это не
аналогично другим системам баз данных. Строка сообщения, которая обеспечивает текстовое описание
ошибки, также доступна. Когда ошибка происходит, код ошибки MySQL, значение SQLSTATE и строка
сообщения доступны через функции C API: Код ошибки MySQL: вызовите
Для готовых запросов соответствующие функции ошибок
Число ошибок, предупреждений и примечаний для предыдущего запроса может
быть получено вызовом
Первые два символа значения SQLSTATE указывают на класс ошибки: У программ MySQL есть доступ к нескольким типам информации об ошибке,
когда сервер возвращает ошибку. Например, клиент
mysql
выводит на экран ошибки, используя следующий формат:
Числовой код ошибки ( Для проверки на ошибки, используйте коды ошибки, а не сообщения об
ошибках. Сообщения об ошибках часто не изменяются, но это возможно. Также
если администратор базы данных изменяет языковые настройки, которые
затрагивают язык сообщений об ошибках, возможны проблемы. Коды ошибки устойчивы во всех релизах GA данного ряда MySQL. Прежде, чем
ряд достигает состояния GA, новые коды могут все еще
разрабатываться и подвержены изменениям. Информация об ошибке сервера прибывает из следующих исходных файлов.
Для деталей о способе, которым определена информация об ошибке, см.
MySQL Internals Manual. Информация о сообщении об ошибке перечислена в файле
Поскольку обновления бывают часто, возможно, что те файлы будут содержать
дополнительную информацию об ошибках, не перечисленную здесь.
Ошибка: Сообщение: Нет. Используется в конструкции других сообщений. Сообщение: Да. Используется в конструкции других сообщений.
Расширенный формат Сообщение: Can't create file '%s' (errno: %d - %s) Происходит при отказе создать или скопировать файл, необходимый
для некоторой работы. Возможные причины: проблема разрешений для исходного файла, целевой файл
уже существует, но не является записываемым. Сообщение: Can't create table '%s' (errno: %d - %s) Сообщение: Can't create database '%s' (errno: %d - %s) Сообщение: Can't create database '%s'; database exists Попытка создать базу данных провалилась, потому что база данных уже
существует. Удалите базу данных сначала, если Вы действительно хотите
заменить существующую базу данных, или добавьте предложение Сообщение: Can't drop database '%s'; database doesn't exist Сообщение: Error dropping database (can't rmdir '%s', errno: %d - %s) Сообщение: Can't read record in system table Возвращена Сообщение: Can't get status of '%s' (errno: %d - %s) Сообщение: Can't lock file (errno: %d - %s) Сообщение: Can't open file: '%s' (errno: %d - %s) Сообщение: Can't find file: '%s' (errno: %d - %s) Сообщение: Can't read dir of '%s' (errno: %d - %s) Сообщение: Record has changed since last read in table '%s' Сообщение: Can't write; duplicate key in table '%s' Сообщение: Error reading file '%s' (errno: %d - %s) Сообщение: Error on rename of '%s' to '%s' (errno: %d - %s) Сообщение: Error writing file '%s' (errno: %d - %s) Сообщение: '%s' is locked against change Сообщение: Sort aborted Сообщение: Got error %d - '%s' from storage engine Проверьте значение Сообщение: Table storage engine for '%s' doesn't have this option Сообщение: Can't find record in '%s' Сообщение: Incorrect information in file: '%s' Сообщение: Incorrect key file for table '%s'; try to repair it Сообщение: Old key file for table '%s'; repair it! Сообщение: Table '%s' is read only Сообщение: Out of memory; restart server and try again (needed %d bytes)
Сообщение: Out of sort memory, consider increasing server
sort buffer size Сообщение: Too many connections Сообщение: Out of memory; check if mysqld or some other process uses
all available memory; if not, you may have to use 'ulimit' to
allow mysqld to use more memory or you can add more swap space Сообщение: Can't get hostname for your address Сообщение: Bad handshake Сообщение: Access denied for user '%s'@'%s' to database '%s' Сообщение: Access denied for user '%s'@'%s' (using password: %s) Сообщение: No database selected Сообщение: Unknown command Сообщение: Column '%s' cannot be null Сообщение: Unknown database '%s' Сообщение: Table '%s' already exists Сообщение: Unknown table '%s' Сообщение: Column '%s' in %s is ambiguous.
%s = имя столбца.
%s = местоположение столбца (например, "список полей").
Вероятная причина: столбец появляется в запросе без соответствующей
квалификации, такой как в списке select или предложении ON. Примеры:
Квалифицируйте столбец с соответствующим именем таблицы:
Ошибка: Сообщение: Server shutdown in progress Сообщение: Unknown column '%s' in '%s' Сообщение: '%s' isn't in GROUP BY Сообщение: Can't group on '%s' Сообщение: Statement has sum functions and columns in same statement Сообщение: Column count doesn't match value count Сообщение: Identifier name '%s' is too long Сообщение: Duplicate column name '%s' Сообщение: Duplicate key name '%s' Сообщение: Duplicate entry '%s' for key %d Сообщение, возвращенное с этой ошибкой, использует строку формата для
Сообщение: Incorrect column specifier for column '%s' Сообщение: %s near '%s' at line %d Сообщение: Query was empty Сообщение: Not unique table/alias: '%s' Сообщение: Invalid default value for '%s' Сообщение: Multiple primary key defined Сообщение: Too many keys specified; max %d keys allowed Сообщение: Too many key parts specified; max %d parts allowed Сообщение: Specified key was too long; max key length is %d bytes Сообщение: Key column '%s' doesn't exist in table Сообщение: BLOB column '%s' can't be used in key specification with the
used table type Сообщение: Column length too big for column '%s' (max = %lu); use
BLOB or TEXT instead Сообщение: Incorrect table definition; there can be only one auto
column and it must be defined as a key Сообщение: %s: ready for connections.
Version: '%s' socket: '%s' port: %d Сообщение: %s: Normal shutdown Сообщение: %s: Shutdown complete Сообщение: %s: Forcing close of thread %ld user: '%s' Сообщение: Can't create IP socket Сообщение: Table '%s' has no index like the one used in CREATE
INDEX; recreate the table Сообщение: Field separator argument is not what is expected;
check the manual
Сообщение: You can't use fixed rowlength with BLOBs; please use
'fields terminated by'
Сообщение: The file '%s' must be in the database directory or be
readable by all
Сообщение: File '%s' already exists
Сообщение: Records: %ld Deleted: %ld Skipped: %ld Warnings: %ld
Сообщение: Records: %ld Duplicates: %ld
Сообщение: Incorrect prefix key; the used key part isn't a string,
the used length is longer than the key part, or the storage engine
doesn't support unique prefix keys
Сообщение: You can't delete all columns with ALTER TABLE; use
DROP TABLE instead
Сообщение: Can't DROP '%s'; check that column/key exists
Сообщение: Records: %ld Duplicates: %ld Warnings: %ld
Сообщение: You can't specify target table '%s' for update in FROM clause
Эта ошибка происходит для попыток выбрать из и изменить ту же самую
таблицу в пределах единственного запроса. Если попытка происходит в пределах
полученной таблицы, Вы можете избежать этой ошибки, устанавливая флаг
Сообщение: Unknown thread id: %lu Сообщение: You are not owner of thread %lu Сообщение: No tables used Сообщение: Too many strings for column %s and SET Сообщение: Can't generate a unique log-filename %s.(1-999) Сообщение: Table '%s' was locked with a READ lock and can't be updated
Сообщение: Table '%s' was not locked with LOCK TABLES Сообщение: BLOB, TEXT, GEOMETRY or JSON column '%s' can't
have a default value Сообщение: Incorrect database name '%s' Сообщение: Incorrect table name '%s' Сообщение: The SELECT would examine more than MAX_JOIN_SIZE rows;
check your WHERE and use SET SQL_BIG_SELECTS=1 or SET
MAX_JOIN_SIZE=# if the SELECT is okay Сообщение: Unknown error Сообщение: Unknown procedure '%s' Сообщение: Incorrect parameter count to procedure '%s' Сообщение: Incorrect parameters to procedure '%s' Сообщение: Unknown table '%s' in %s Сообщение: Column '%s' specified twice Сообщение: Invalid use of group function Сообщение: Table '%s' uses an extension that doesn't exist in
this MySQL version Сообщение: A table must have at least 1 column Сообщение: The table '%s' is full Сообщение: Unknown character set: '%s' Сообщение: Too many tables; MySQL can only use %d tables in a join Сообщение: Too many columns Сообщение: Row size too large. The maximum row size for the used
table type, not counting BLOBs, is %ld. This includes storage
overhead, check the manual. You have to change some columns to
TEXT or BLOBs Сообщение: Thread stack overrun: Used: %ld of a %ld stack. Use
'mysqld --thread_stack=#' to specify a bigger stack if needed Сообщение: Cross dependency found in OUTER JOIN; examine
your ON conditions Сообщение: Table handler doesn't support NULL in given index. Please
change column '%s' to be NOT NULL or use another handler Сообщение: Can't load function '%s' Сообщение: Can't initialize function '%s'; %s Сообщение: No paths allowed for shared library Сообщение: Function '%s' already exists Сообщение: Can't open shared library '%s' (errno: %d %s) Сообщение: Can't find symbol '%s' in library Сообщение: Function '%s' is not defined Сообщение: Host '%s' is blocked because of many connection errors;
unblock with 'mysqladmin flush-hosts' Сообщение: Host '%s' is not allowed to connect to this MySQL server Сообщение: You are using MySQL as an anonymous user and anonymous
users are not allowed to change passwords Сообщение: You must have privileges to update tables in the mysql
database to be able to change passwords for others Сообщение: Can't find any matching row in the user table Сообщение: Rows matched: %ld Changed: %ld Warnings: %ld Сообщение: Can't create a new thread (errno %d); if you are not out
of available memory, you can consult the manual for a possible
OS-dependent bug Сообщение: Column count doesn't match value count at row %ld Сообщение: Can't reopen table: '%s' Сообщение: Invalid use of NULL value Сообщение: Got error '%s' from regexp Сообщение: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no
GROUP columns is illegal if there is no GROUP BY clause Сообщение: There is no such grant defined for user '%s' on host '%s' Сообщение: %s command denied to user '%s'@'%s' for table '%s' Сообщение: %s command denied to user '%s'@'%s' for
column '%s' in table '%s' Сообщение: Illegal GRANT/REVOKE command; please consult the manual
to see which privileges can be used Сообщение: The host or user argument to GRANT is too long Сообщение: Table '%s.%s' doesn't exist Сообщение: There is no such grant defined for user '%s' on
host '%s' on table '%s' Сообщение: The used command is not allowed with this MySQL version Сообщение: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right
syntax to use Сообщение: Aborted connection %ld to db: '%s' user: '%s' (%s) Сообщение: Got a packet bigger than 'max_allowed_packet' bytes Сообщение: Got a read error from the connection pipe Сообщение: Got an error from fcntl() Сообщение: Got packets out of order Сообщение: Couldn't uncompress communication packet Сообщение: Got an error reading communication packets Сообщение: Got timeout reading communication packets Сообщение: Got an error writing communication packets Сообщение: Got timeout writing communication packets Сообщение: Result string is longer than 'max_allowed_packet' bytes Сообщение: The used table type doesn't support BLOB/TEXT columns Сообщение: The used table type doesn't support AUTO_INCREMENT columns Сообщение: Incorrect column name '%s' Сообщение: The used storage engine can't index column '%s' Сообщение: Unable to open underlying table which is differently
defined or of non-MyISAM type or doesn't exist Сообщение: Can't write, because of unique constraint, to table '%s' Сообщение: BLOB/TEXT column '%s' used in key specification
without a key length Сообщение: All parts of a PRIMARY KEY must be NOT NULL; if you need
NULL in a key, use UNIQUE instead Сообщение: Result consisted of more than one row Сообщение: This table type requires a primary key Сообщение: You are using safe update mode and you tried to update a
table without a WHERE that uses a KEY column Сообщение: Key '%s' doesn't exist in table '%s' Сообщение: Can't open table Сообщение: The storage engine for the table doesn't support %s Сообщение: You are not allowed to execute this command in a transaction
Сообщение: Got error %d - '%s' during COMMIT Сообщение: Got error %d - '%s' during ROLLBACK Сообщение: Got error %d during FLUSH_LOGS Сообщение: Aborted connection %u to db: '%s' user: '%s' host: '%s' (%s)
Сообщение: Error from master: '%s' Сообщение: Net error reading from master Сообщение: Net error writing to master Сообщение: Can't find FULLTEXT index matching the column list Сообщение: Can't execute the given command because you have active
locked tables or an active transaction Сообщение: Unknown system variable '%s'
Сообщение: Table '%s' is marked as crashed and should be repaired
Сообщение: Table '%s' is marked as crashed and last
(automatic?) repair failed
Сообщение: Some non-transactional changed tables couldn't be rolled back
Сообщение: Multi-statement transaction required more than
'max_binlog_cache_size' bytes of storage; increase this mysqld
variable and try again
Сообщение: This operation requires a running slave; configure slave
and do START SLAVE
Сообщение: The server is not configured as slave; fix in config file
or with CHANGE MASTER TO
Сообщение: Could not initialize master info structure; more error
messages can be found in the MySQL error log
Сообщение: Could not create slave thread; check system resources
Сообщение: User %s already has more than 'max_user_connections'
active connections
Сообщение: You may only use constant expressions with SET
Сообщение: Lock wait timeout exceeded; try restarting transaction Сообщение: The total number of locks exceeds the lock table size Сообщение: Update locks cannot be acquired during a
READ UNCOMMITTED transaction Сообщение: Incorrect arguments to %s Сообщение: '%s'@'%s' is not allowed to create new users Сообщение: Deadlock found when trying to get lock;
try restarting transaction Сообщение: The used table type doesn't support FULLTEXT indexes Сообщение: Cannot add foreign key constraint Сообщение: Cannot add or update a child row: a foreign
key constraint fails Сообщение: Cannot delete or update a parent row: a foreign
key constraint fails Сообщение: Error connecting to master: %s Сообщение: Error when executing command %s: %s Сообщение: Incorrect usage of %s and %s Сообщение: The used SELECT statements have a different number of columns
Сообщение: Can't execute the query because you have a
conflicting read lock
Сообщение: Mixing of transactional and non-transactional tables is disabled
Сообщение: Option '%s' used twice in statement
Сообщение: User '%s' has exceeded the '%s' resource (current value: %ld)
Сообщение: Access denied; you need (at least one of) the %s
privilege(s) for this operation
Сообщение: Variable '%s' is a SESSION variable and can't be used
with SET GLOBAL
Сообщение: Variable '%s' is a GLOBAL variable and should be set
with SET GLOBAL
Сообщение: Variable '%s' doesn't have a default value
Сообщение: Variable '%s' can't be set to the value of '%s'
Сообщение: Incorrect argument type to variable '%s'
Сообщение: Variable '%s' can only be set, not read
Сообщение: Incorrect usage/placement of '%s'
Сообщение: This version of MySQL doesn't yet support '%s'
Сообщение: Got fatal error %d from master when reading data from
binary log: '%s'
Сообщение: Slave SQL thread ignored the query because of
replicate-*-table rules
Сообщение: Variable '%s' is a %s variable
Сообщение: Incorrect foreign key definition for '%s': %s
Сообщение: Key reference and table reference don't match
Сообщение: Operand should contain %d column(s)
Сообщение: Subquery returns more than 1 row
Сообщение: Unknown prepared statement handler (%.*s) given to %s
Сообщение: Help database is corrupt or does not exist
Сообщение: Converting column '%s' from %s to %s
Сообщение: Reference '%s' not supported (%s)
Сообщение: Every derived table must have its own alias
Сообщение: Select %u was reduced during optimization
Сообщение: Table '%s' from one of the SELECTs cannot be used in %s
Сообщение: Client does not support authentication protocol requested
by server; consider upgrading MySQL client
Сообщение: All parts of a SPATIAL index must be NOT NULL
Сообщение: COLLATION '%s' is not valid for CHARACTER SET '%s'
Сообщение: Uncompressed data size too large; the maximum size is %d
(probably, length of uncompressed data was corrupted)
Сообщение: ZLIB: Not enough memory
Сообщение: ZLIB: Not enough room in the output buffer (probably,
length of uncompressed data was corrupted)
Сообщение: ZLIB: Input data corrupted
Сообщение: Row %u was cut by GROUP_CONCAT()
Сообщение: Row %ld doesn't contain data for all columns
Сообщение: Row %ld was truncated; it contained more data than there
were input columns
Сообщение: Column set to default value; NULL supplied to NOT NULL
column '%s' at row %ld
Сообщение: Out of range value for column '%s' at row %ld
Сообщение: Data truncated for column '%s' at row %ld
Сообщение: Using storage engine %s for table '%s'
Сообщение: Illegal mix of collations (%s,%s) and (%s,%s) for operation '%s'
Сообщение: Can't revoke all privileges for one or more of the requested users
Сообщение: Illegal mix of collations (%s,%s), (%s,%s),
(%s,%s) for operation '%s'
Сообщение: Illegal mix of collations for operation '%s'
Сообщение: Variable '%s' is not a variable component (can't be used
as XXXX.variable_name)
Сообщение: Unknown collation: '%s'
Сообщение: SSL parameters in CHANGE MASTER are ignored because this
MySQL slave was compiled without SSL support; they can be used
later if MySQL slave with SSL is started
Сообщение: Server is running in --secure-auth mode, but '%s'@'%s'
has a password in the old format; please change the password to
the new format
Сообщение: Field or reference '%s%s%s%s%s' of SELECT #%d was
resolved in SELECT #%d
Сообщение: Incorrect parameter or combination of parameters for
START SLAVE UNTIL
Сообщение: It is recommended to use --skip-slave-start when doing
step-by-step replication with START SLAVE UNTIL; otherwise, you
will get problems if you get an unexpected slave's mysqld restart
Сообщение: SQL thread is not to be started so UNTIL options are
ignored
Сообщение: Incorrect index name '%s'
Сообщение: Incorrect catalog name '%s'
Сообщение: Query cache failed to set size %lu; new query cache size
is %lu
Сообщение: Column '%s' cannot be part of FULLTEXT index
Сообщение: Unknown key cache '%s'
Сообщение: MySQL is started in --skip-name-resolve mode; you must
restart it without this switch for this grant to work
Сообщение: Unknown storage engine '%s'
Сообщение: '%s' is deprecated and will be removed in a future
release. Please use %s instead
Сообщение: The target table %s of the %s is not updatable
Сообщение: The '%s' feature is disabled; you need MySQL built with
'%s' to have it working
Сообщение: The MySQL server is running with the %s option so it
cannot execute this statement
Сообщение: Column '%s' has duplicated value '%s' in %s
Сообщение: Truncated incorrect %s value: '%s'
Сообщение: Invalid ON UPDATE clause for '%s' column
Сообщение: This command is not supported in the prepared
statement protocol yet
Сообщение: Got error %d '%s' from %s
Сообщение: Got temporary error %d '%s' from %s
Сообщение: Unknown or incorrect time zone: '%s'
Сообщение: Invalid TIMESTAMP value in column '%s' at row %ld
Сообщение: Invalid %s character string: '%s'
Сообщение: Result of %s() was larger than
max_allowed_packet (%ld) - truncated
Сообщение: Conflicting declarations: '%s%s' and '%s%s'
Сообщение: Can't create a %s from within another stored routine
Сообщение: %s %s already exists
Сообщение: %s %s does not exist
Сообщение: Failed to DROP %s %s
Сообщение: Failed to CREATE %s %s
Сообщение: %s with no matching label: %s
Сообщение: Redefining label %s
Сообщение: End-label %s without match
Сообщение: Referring to uninitialized variable %s
Сообщение: PROCEDURE %s can't return a result set in the given context
Сообщение: RETURN is only allowed in a FUNCTION
Сообщение: %s is not allowed in stored procedures
Сообщение: The update log is deprecated and replaced by the binary
log; SET SQL_LOG_UPDATE has been ignored.
Сообщение: The update log is deprecated and replaced by the binary
log; SET SQL_LOG_UPDATE has been translated to SET SQL_LOG_BIN.
Сообщение: Query execution was interrupted
Сообщение: Incorrect number of arguments for %s %s; expected %u, got
%u
Сообщение: Undefined CONDITION: %s
Сообщение: No RETURN found in FUNCTION %s
Сообщение: FUNCTION %s ended without RETURN
Сообщение: Cursor statement must be a SELECT
Сообщение: Cursor SELECT must not have INTO
Сообщение: Undefined CURSOR: %s
Сообщение: Cursor is already open
Сообщение: Cursor is not open
Сообщение: Undeclared variable: %s
Сообщение: Incorrect number of FETCH variables
Сообщение: No data - zero rows fetched, selected, or processed
Сообщение: Duplicate parameter: %s
Сообщение: Duplicate variable: %s
Сообщение: Duplicate condition: %s
Сообщение: Duplicate cursor: %s
Сообщение: Failed to ALTER %s %s
Сообщение: Subquery value not supported
Сообщение: %s is not allowed in stored function or trigger
Сообщение: Variable or condition declaration after cursor
or handler declaration
Сообщение: Cursor declaration after handler declaration
Сообщение: Case not found for CASE statement
Сообщение: Configuration file '%s' is too big
Сообщение: Malformed file type header in file '%s'
Сообщение: Unexpected end of file while parsing comment '%s'
Сообщение: Error while parsing parameter '%s' (line: '%s')
Сообщение: Unexpected end of file while skipping unknown parameter
'%s'
Сообщение: EXPLAIN/SHOW can not be issued; lacking privileges
for underlying table
Сообщение: '%s.%s' is not %s Названный объект является неправильным для типа предпринятой работы. Это
должен быть объект названного типа. Пример:
Сообщение: Column '%s' is not updatable
Сообщение: View's SELECT contains a '%s' clause
Сообщение: View's SELECT contains a variable or parameter
Сообщение: View's SELECT refers to a temporary table '%s'
Сообщение: View's SELECT and view's field list have different column counts
Сообщение: View merge algorithm can't be used here for now (assumed
undefined algorithm)
Сообщение: View being updated does not have complete key of
underlying table in it
Сообщение: View '%s.%s' references invalid table(s) or column(s) or
function(s) or definer/invoker of view lack rights to use them
Сообщение: Can't drop or alter a %s from within another stored routine
Сообщение: Trigger already exists
Сообщение: Trigger does not exist
Сообщение: Trigger's '%s' is view or temporary table
Сообщение: Updating of %s row is not allowed in %strigger
Сообщение: There is no %s row in %s trigger
Сообщение: Field '%s' doesn't have a default value
Сообщение: Division by 0
Сообщение: Incorrect %s value: '%s' for column '%s' at row %ld
Сообщение: Illegal %s '%s' value found during parsing
Сообщение: CHECK OPTION on non-updatable view '%s.%s'
Сообщение: CHECK OPTION failed '%s.%s'
Сообщение: %s command denied to user '%s'@'%s' for routine '%s'
Сообщение: Failed purging old relay logs: %s
Сообщение: Target log not found in binlog index
Сообщение: I/O error reading log index file
Сообщение: Server configuration does not permit binlog purge
Сообщение: Failed on fseek()
Сообщение: Fatal error during log purge
Сообщение: A purgeable log is in use, will not purge
Сообщение: Unknown error during log purge
Сообщение: Failed initializing relay log position: %s
Сообщение: You are not using binary logging
Сообщение: The '%s' syntax is reserved for purposes internal to the
MySQL server
Сообщение: Prepared statement contains too many placeholders
Сообщение: Key part '%s' length cannot be 0
Сообщение: View text checksum failed
Сообщение: Can not modify more than one base table
through a join view '%s.%s'
Сообщение: Can not insert into join view '%s.%s' without fields list
Сообщение: Can not delete from join view '%s.%s'
Сообщение: Operation %s failed for %s
Сообщение: XAER_NOTA: Unknown XID
Сообщение: XAER_INVAL: Invalid arguments (or unsupported command)
Сообщение: XAER_RMFAIL: The command cannot be executed when global
transaction is in the %s state
Сообщение: XAER_OUTSIDE: Some work is done outside global transaction
Сообщение: XAER_RMERR: Fatal error occurred in the transaction
branch - check your data for consistency
Сообщение: XA_RBROLLBACK: Transaction branch was rolled back
Сообщение: There is no such grant defined for user '%s' on
host '%s' on routine '%s'
Сообщение: Failed to grant EXECUTE and ALTER ROUTINE privileges
Сообщение: Failed to revoke all privileges to dropped routine
Сообщение: Data too long for column '%s' at row %ld
Сообщение: Bad SQLSTATE: '%s'
Сообщение: %s: ready for connections. Version: '%s' socket: '%s'
port: %d %s
Сообщение: Can't load value from file with fixed size rows to variable
Сообщение: You are not allowed to create a user with GRANT
Сообщение: Incorrect %s value: '%s' for function %s
Сообщение: Table definition has changed, please retry transaction
Сообщение: Duplicate handler declared in the same block
Сообщение: OUT or INOUT argument %d for routine %s is not a variable
or NEW pseudo-variable in BEFORE trigger
Сообщение: Not allowed to return a result set from a %s
Сообщение: Cannot get geometry object from data you send to
the GEOMETRY field
Сообщение: This function has none of DETERMINISTIC, NO SQL, or READS
SQL DATA in its declaration and binary logging is enabled (you
*might* want to use the less safe log_bin_trust_function_creators variable)
Сообщение: You do not have the SUPER privilege and binary logging is
enabled (you *might* want to use the less safe
log_bin_trust_function_creators variable)
Сообщение: The statement (%lu) has no open cursor.
Сообщение: Explicit or implicit commit is not allowed in stored
function or trigger.
Сообщение: Field of view '%s.%s' underlying table doesn't
have a default value
Сообщение: Recursive stored functions and triggers are not allowed.
Сообщение: Too big scale %d specified for column '%s'. Maximum is %lu.
Сообщение: Too-big precision %d specified for '%s'. Maximum is %lu.
Сообщение: For float(M,D), double(M,D) or decimal(M,D), M must be
>= D (column '%s').
Сообщение: You can't combine write-locking of system tables with
other tables or lock types
Сообщение: Unable to connect to foreign data source: %s
Сообщение: There was a problem processing the query on the foreign
data source. Data source error: %s
Сообщение: The foreign data source you are trying to reference does
not exist. Data source error: %s
Сообщение: Can't create federated table. The data source connection
string '%s' is not in the correct format
Сообщение: The data source connection string '%s' is not in
the correct format
Сообщение: Trigger in wrong schema
Сообщение: Thread stack overrun: %ld bytes used of a %ld byte stack,
and %ld bytes needed. Use 'mysqld --thread_stack=#' to
specify a bigger stack.
Сообщение: Routine body for '%s' is too long
Сообщение: Cannot drop default keycache
Сообщение: Display width out of range for column '%s' (max = %lu)
Сообщение: XAER_DUPID: The XID already exists
Сообщение: Datetime function: %s field overflow
Сообщение: Can't update table '%s' in stored function/trigger
because it is already used by statement which invoked this
stored function/trigger.
Сообщение: The definition of table '%s' prevents operation %s on table '%s'.
Сообщение: The prepared statement contains a stored routine call
that refers to that same statement. It's not allowed to execute a
prepared statement in such a recursive manner
Сообщение: Not allowed to set autocommit from a stored function or trigger
Сообщение: View '%s'.'%s' has no definer information (old table
format). Current user is used as definer.
Please recreate the view!
Сообщение: You need the SUPER privilege for creation view with
'%s'@'%s' definer
Сообщение: The user specified as a definer ('%s'@'%s') does not
exist
Сообщение: Changing schema from '%s' to '%s' is not allowed.
Сообщение: Cannot delete or update a parent row: a foreign
key constraint fails (%s)
Сообщение: Cannot add or update a child row: a foreign key
constraint fails (%s)
Сообщение: Variable '%s' must be quoted with `...`, or renamed
Сообщение: No definer attribute for trigger '%s'.'%s'. It's
disallowed to create trigger without definer.
Сообщение: '%s' has an old format, you should re-create the '%s' object(s)
Сообщение: Recursive limit %d (as set by the max_sp_recursion_depth
variable) was exceeded for routine %s
Сообщение: Incorrect routine name '%s'
Сообщение: Table upgrade required. Please do "REPAIR TABLE `%s`" or
dump/reload to fix it!
Сообщение: AGGREGATE is not supported for stored functions
Сообщение: Can't create more than max_prepared_stmt_count statements
(current value: %lu)
Сообщение: `%s`.`%s` contains view recursion
Сообщение: Non-grouping field '%s' is used in %s clause
Сообщение: The used table type doesn't support SPATIAL indexes
Сообщение: Triggers can not be created on system tables
Сообщение: Leading spaces are removed from name '%s'
Сообщение: Failed to read auto-increment value from storage engine
Сообщение: user name
Сообщение: host name
Сообщение: String '%s' is too long for %s (should be no longer than
%d)
Сообщение: The target table %s of the %s is not insertable-into
Сообщение: Table '%s' is differently defined or of non-MyISAM type
or doesn't exist
Сообщение: Too high level of nesting for select
Сообщение: Name '%s' has become ''
Сообщение: First character of the FIELDS TERMINATED string is
ambiguous; please use non-optional and non-empty
FIELDS ENCLOSED BY
Сообщение: The foreign server, %s, you are trying to create already exists.
Сообщение: The foreign server name you are trying to reference does
not exist. Data source error: %s
Сообщение: Table storage engine '%s' does not support the create option '%s'
Сообщение: Syntax error: %s PARTITIONING requires definition of
VALUES %s for each partition
Сообщение: Only %s PARTITIONING can use VALUES %s in partition
definition
Сообщение: MAXVALUE can only be used in last partition definition
Сообщение: Wrong number of partitions defined, mismatch
with previous setting
Сообщение: Wrong number of subpartitions defined, mismatch
with previous setting
Сообщение: Constant, random or timezone-dependent expressions in
(sub)partitioning function are not allowed
Сообщение: Field in list of fields for partition function not found in table
Сообщение: The partition info in the frm file is not consistent with
what can be written into the frm file
Сообщение: The %s function returns the wrong type
Сообщение: For %s partitions each partition must be defined
Сообщение: VALUES LESS THAN value must be strictly increasing for
each partition
Сообщение: VALUES value must be of same type as partition function
Сообщение: Multiple definition of same constant in list partitioning
Сообщение: Partitioning can not be used stand-alone in query
Сообщение: The mix of handlers in the partitions is not allowed in
this version of MySQL
Сообщение: For the partitioned engine it is necessary to define all %s
Сообщение: Too many partitions (including subpartitions) were defined
Сообщение: It is only possible to mix RANGE/LIST partitioning with
HASH/KEY partitioning for subpartitioning
Сообщение: Failed to create specific handler file
Сообщение: A BLOB field is not allowed in partition function
Сообщение: A %s must include all columns in the table's partitioning function
Сообщение: Number of %s = 0 is not an allowed value
Сообщение: Partition management on a not partitioned table is not possible
Сообщение: Foreign keys are not yet supported in
conjunction with partitioning
Сообщение: Error in list of partitions to %s
Сообщение: Cannot remove all partitions, use DROP TABLE instead
Сообщение: COALESCE PARTITION can only be used on HASH/KEY partitions
Сообщение: REORGANIZE PARTITION can only be used to reorganize
partitions not to change their numbers
Сообщение: REORGANIZE PARTITION without parameters can only be used
on auto-partitioned tables using HASH PARTITIONs
Сообщение: %s PARTITION can only be used on RANGE/LIST partitions
Сообщение: Trying to Add partition(s) with wrong number of subpartitions
Сообщение: At least one partition must be added
Сообщение: At least one partition must be coalesced
Сообщение: More partitions to reorganize than there are partitions
Сообщение: Duplicate partition name %s
Сообщение: It is not allowed to shut off binlog on this command
Сообщение: When reorganizing a set of partitions they must be
in consecutive order
Сообщение: Reorganize of range partitions cannot change total ranges
except for last partition where it can extend the range
Сообщение: Partition function not supported in this version for this
handler
Сообщение: The %s handler only supports 32 bit integers in VALUES
Сообщение: Plugin '%s' is not loaded
Сообщение: Incorrect %s value: '%s'
Сообщение: Table has no partition for value %s
Сообщение: It is not allowed to specify %s more than once
Сообщение: Failed to create %s
Сообщение: Failed to drop %s
Сообщение: The handler doesn't support autoextend of tablespaces
Сообщение: A size parameter was incorrectly specified, either number
or on the form 10M
Сообщение: The size number was correct but we don't allow the digit
part to be more than 2 billion
Сообщение: Failed to alter: %s
Сообщение: Writing one row to the row-based binary log failed
Сообщение: Event '%s' already exists
Сообщение: Unknown event '%s'
Сообщение: INTERVAL is either not positive or too big
Сообщение: ENDS is either invalid or before STARTS
Сообщение: Event execution time is in the past. Event has been
disabled
Сообщение: Same old and new event name
Сообщение: Cannot drop index '%s': needed in a foreign key constraint Для оптимальной работы с запросами DML Когда Вы удаляете индекс,
Сообщение: The syntax '%s' is deprecated and will be removed in
MySQL %s. Please use %s instead
Сообщение: You can't use locks with log tables.
Сообщение: Upholding foreign key constraints for table '%s', entry
'%s', key %d would lead to a duplicate entry
Сообщение: Column count of mysql.%s is wrong. Expected %d, found %d.
Created with MySQL %d, now running %d. Please use mysql_upgrade to
fix this error.
Сообщение: Cannot switch out of the row-based binary log format when
the session has open temporary tables
Сообщение: Cannot change the binary logging format inside a stored
function or trigger
Сообщение: Cannot create temporary table with partitions
Сообщение: Partition constant is out of partition function domain
Сообщение: This partition function is not allowed
Сообщение: Error in DDL log
Сообщение: Not allowed to use NULL value in VALUES LESS THAN
Сообщение: Incorrect partition name
Сообщение: Transaction characteristics can't be changed while a
transaction is in progress
Сообщение: ALTER TABLE causes auto_increment resequencing, resulting
in duplicate entry '%s' for key '%s'
Сообщение: Error during starting/stopping of the scheduler. Error code %u
Сообщение: Engine cannot be used in partitioned tables
Сообщение: Decoding of base64 string failed
Сообщение: Recursion of EVENT DDL statements is forbidden when body
is present
Сообщение: Only integers allowed as number here
Сообщение: This storage engine cannot be used for log tables
Сообщение: You cannot '%s' a log table if logging is enabled
Сообщение: Cannot rename '%s'. When logging enabled, rename to/from
log table must rename two tables: the log table to an archive
table and another table back to '%s'
Сообщение: Incorrect parameter count in the call to native function
'%s'
Сообщение: Incorrect parameters in the call to native function '%s'
Сообщение: Incorrect parameters in the call to stored function %s
Сообщение: This function '%s' has the same name as a native function
Сообщение: Duplicate entry '%s' for key '%s'
The format string for this error is also used with
Сообщение: Too many files opened, please execute the command again
Сообщение: Event execution time is in the past and ON COMPLETION NOT
PRESERVE is set. The event was dropped immediately after creation.
Сообщение: Event execution time is in the past and ON COMPLETION NOT
PRESERVE is set. The event was not changed. Specify a time
in the future.
Сообщение: The incident %s occured on the master. Сообщение: %s
Сообщение: Table has no partition for some existing values
Сообщение: Unsafe statement written to the binary log using
statement format since BINLOG_FORMAT = STATEMENT. %s
Сообщение: Fatal error: %s
Сообщение: Relay log read failure: %s
Сообщение: Relay log write failure: %s
Сообщение: Failed to create %s
Сообщение: Master command %s failed: %s
Сообщение: Binary logging not possible. Сообщение: %s
Сообщение: View `%s`.`%s` has no creation context
Сообщение: Creation context of view `%s`.`%s' is invalid
Сообщение: Corrupted TRG file for table `%s`.`%s`
Сообщение: Triggers for table `%s`.`%s` have no creation context
Сообщение: Trigger creation context of table `%s`.`%s` is invalid
Сообщение: Creation context of event `%s`.`%s` is invalid
Сообщение: Cannot open table for trigger `%s`.`%s`
Сообщение: The BINLOG statement of type `%s` was not preceded by a
format description BINLOG statement.
Сообщение: Corrupted replication event was detected
Сообщение: Being purged log %s was not found
Сообщение: XA_RBTIMEOUT: Transaction branch was rolled back: took too long
Сообщение: XA_RBDEADLOCK: Transaction branch was rolled back:
deadlock was detected
Сообщение: Prepared statement needs to be re-prepared
Сообщение: The master info structure does not exist
Сообщение: <%s> option ignored
Сообщение: Built-in plugins cannot be deleted
Сообщение: Plugin is busy and will be uninstalled on shutdown
Сообщение: %s variable '%s' is read-only. Use SET %s to assign the value
Сообщение: Storage engine %s does not support rollback for this
statement. Transaction rolled back and
must be restarted
Сообщение: Unexpected master's heartbeat data: %s
Сообщение: The requested value for the heartbeat period is either
negative or exceeds the maximum allowed (%s seconds).
Сообщение: Bad schema for mysql.ndb_replication table. Сообщение: %s
Сообщение: Error in parsing conflict function. Сообщение: %s
Сообщение: Write to exceptions table failed. Сообщение: %s
Сообщение: Comment for table '%s' is too long (max = %lu)
Сообщение: Comment for field '%s' is too long (max = %lu)
Сообщение: FUNCTION %s does not exist. Check the 'Function Name
Parsing and Resolution' section in the Reference Manual
Сообщение: Database
Сообщение: Table
Сообщение: Partition
Сообщение: Subpartition
Сообщение: Temporary
Сообщение: Renamed
Сообщение: Too many active concurrent transactions
Сообщение: Non-ASCII separator arguments are not fully supported
Сообщение: debug sync point wait timed out
Сообщение: debug sync point hit limit reached
Сообщение: Duplicate condition information item '%s'
Сообщение: Unhandled user-defined warning condition
Сообщение: Unhandled user-defined not found condition
Сообщение: Unhandled user-defined exception condition
Сообщение: RESIGNAL when handler not active
Сообщение: SIGNAL/RESIGNAL can only use a CONDITION defined with SQLSTATE
Сообщение: Data truncated for condition item '%s'
Сообщение: Data too long for condition item '%s'
Сообщение: Unknown locale: '%s'
Сообщение: The requested server id %d clashes with the slave startup
option --replicate-same-server-id
Сообщение: Query cache is disabled; restart the server with
query_cache_type=1 to enable it
Сообщение: Duplicate partition field name '%s'
Сообщение: Inconsistency in usage of column lists for partitioning
Сообщение: Partition column values of incorrect type
Сообщение: Too many fields in '%s'
Сообщение: Cannot use MAXVALUE as value in VALUES IN
Сообщение: Cannot have more than one value for this type of %s partitioning
Сообщение: Row expressions in VALUES IN only allowed for multi-field
column partitioning
Сообщение: Field '%s' is of a not allowed type for this type of partitioning
Сообщение: The total length of the partitioning fields is too large
Сообщение: Cannot execute statement: impossible to write to binary
log since both row-incapable engines and statement-incapable
engines are involved.
Сообщение: Cannot execute statement: impossible to write to binary
log since BINLOG_FORMAT = ROW and at least one table uses a
storage engine limited to statement-based logging.
Сообщение: Cannot execute statement: impossible to write to binary
log since statement is unsafe, storage engine is limited to
statement-based logging, and BINLOG_FORMAT = MIXED. %s
Сообщение: Cannot execute statement: impossible to write to binary
log since statement is in row format and at least one table uses a
storage engine limited to statement-based logging.
Сообщение: Cannot execute statement: impossible to write to binary
log since BINLOG_FORMAT = STATEMENT and at least one table uses a
storage engine limited to row-based logging.%s
Сообщение: Cannot execute statement: impossible to write to binary
log since statement is in row format and
BINLOG_FORMAT = STATEMENT.
Сообщение: Cannot execute statement: impossible to write to binary
log since more than one engine is involved and at least one engine
is self-logging.
Сообщение: The statement is unsafe because it uses a LIMIT clause.
This is unsafe because the set of rows included
cannot be predicted.
Сообщение: The statement is unsafe because it uses the general log,
slow query log, or performance_schema table(s). This is unsafe
because system tables may differ on slaves.
Сообщение: Statement is unsafe because it invokes a trigger or a
stored function that inserts into an AUTO_INCREMENT column.
Inserted values cannot be logged correctly.
Сообщение: Statement is unsafe because it uses a UDF which may not
return the same value on the slave.
Сообщение: Statement is unsafe because it uses a system variable
that may have a different value on the slave.
Сообщение: Statement is unsafe because it uses a system function
that may return a different value on the slave.
Сообщение: Statement is unsafe because it accesses a
non-transactional table after accessing a transactional table
within the same transaction.
Сообщение: %s Statement: %s
Сообщение: Column %d of table '%s.%s' cannot be converted from type
'%s' to type '%s'
Сообщение: Can't create conversion table for table '%s.%s'
Сообщение: Cannot modify @@session.binlog_format inside a transaction
Сообщение: The path specified for %s is too long.
Сообщение: '%s' is deprecated and will be removed in a future release.
Сообщение: Native table '%s'.'%s' has the wrong structure
Сообщение: Invalid performance_schema usage.
Сообщение: Table '%s'.'%s' was skipped since its definition is being
modified by concurrent DDL statement
Сообщение: Cannot modify
@@session.binlog_direct_non_transactional_updates inside a transaction
Сообщение: Cannot change the binlog direct flag inside a stored
function or trigger
Сообщение: A SPATIAL index may only contain a geometrical type column
Сообщение: Comment for index '%s' is too long (max = %lu)
Сообщение: Wait on a lock was aborted due to a pending exclusive lock
Сообщение: %s value is out of range in '%s'
Сообщение: A variable of a non-integer based type in LIMIT clause
Сообщение: Mixing self-logging and non-self-logging engines in a
statement is unsafe.
Сообщение: Statement accesses nontransactional table as well as
transactional or temporary table, and writes to any of them.
Сообщение: Cannot modify @@session.sql_log_bin inside a transaction
Сообщение: Cannot change the sql_log_bin inside a stored function or trigger
Сообщение: Failed to read from the .par file
Сообщение: VALUES value for partition '%s' must have type INT
Сообщение: Access denied for user '%s'@'%s'
Сообщение: SET PASSWORD has no significance for users
authenticating via plugins
Сообщение: Cannot truncate a table referenced in a
foreign key constraint (%s)
Сообщение: Plugin '%s' is force_plus_permanent and can not be unloaded
Сообщение: The requested value for the heartbeat period is less than
1 millisecond. The value is reset to 0, meaning that heartbeating
will effectively be disabled.
Сообщение: The requested value for the heartbeat period exceeds the
value of `slave_net_timeout' seconds. A sensible value for the
period should be less than the timeout.
Сообщение: Multi-row statements required more than
'max_binlog_stmt_cache_size' bytes of storage; increase this
mysqld variable and try again
Сообщение: Primary key/partition key update is not allowed since the
table is updated both as '%s' and '%s'.
Сообщение: Table rebuild required. Please do "ALTER TABLE `%s`
FORCE" or dump/reload to fix it!
Сообщение: The value of '%s' should be no less than the value of '%s'
Сообщение: Index column size too large. The maximum column size is %lu bytes.
Сообщение: Trigger '%s' has an error in its body: '%s'
Сообщение: Unknown trigger has an error in its body: '%s'
Сообщение: Index %s is corrupted
Сообщение: Undo log record is too big.
Сообщение: INSERT IGNORE... SELECT is unsafe because the order in
which rows are retrieved by the SELECT determines which (if any)
rows are ignored. This order cannot be predicted and may differ on
master and the slave.
Сообщение: INSERT... SELECT... ON DUPLICATE KEY UPDATE is unsafe
because the order in which rows are retrieved by the SELECT
determines which (if any) rows are updated. This order cannot be
predicted and may differ on master and the slave.
Сообщение: REPLACE... SELECT is unsafe because the order in which
rows are retrieved by the SELECT determines which (if any) rows
are replaced. This order cannot be predicted and may differ on
master and the slave.
Сообщение: CREATE... IGNORE SELECT is unsafe because the order in
which rows are retrieved by the SELECT determines which (if any)
rows are ignored. This order cannot be predicted and may differ on
master and the slave.
Сообщение: CREATE... REPLACE SELECT is unsafe because the order in
which rows are retrieved by the SELECT determines which (if any)
rows are replaced. This order cannot be predicted and may differ
on master and the slave.
Сообщение: UPDATE IGNORE is unsafe because the order in which rows
are updated determines which (if any) rows are ignored. This order
cannot be predicted and may differ on master and the slave.
Сообщение: Plugin '%s' is marked as not dynamically uninstallable.
You have to stop the server to uninstall it.
Сообщение: Plugin '%s' is marked as not dynamically installable. You
have to stop the server to install it.
Сообщение: Statements writing to a table with an auto-increment
column after selecting from another table are unsafe because the
order in which rows are retrieved determines what (if any) rows
will be written. This order cannot be predicted and may differ on
master and the slave.
Сообщение: CREATE TABLE... SELECT... on a table with an
auto-increment column is unsafe because the order in which rows
are retrieved by the SELECT determines which (if any) rows are
inserted. This order cannot be predicted and may differ on master
and the slave.
Сообщение: INSERT... ON DUPLICATE KEY UPDATE on a table with more
than one UNIQUE KEY is unsafe
Сообщение: Table is being used in foreign key check.
Сообщение: Storage engine '%s' does not support system tables. [%s.%s]
Сообщение: INSERT into autoincrement field which is not the first
part in the composed primary key is unsafe.
Сообщение: Cannot load from %s.%s. The table is probably corrupted
Сообщение: The requested value %s for the master delay
exceeds the maximum %u
Сообщение: Only Format_description_log_event and row events are
allowed in BINLOG statements (but %s was provided)
Сообщение: Non matching attribute '%s' between partition and table
Сообщение: Table to exchange with partition is partitioned: '%s'
Сообщение: Table to exchange with partition is temporary: '%s'
Сообщение: Subpartitioned table, use subpartition instead of partition
Сообщение: Unknown partition '%s' in table '%s'
Сообщение: Tables have different definitions
Сообщение: Found a row that does not match the partition
Сообщение: Option binlog_cache_size (%lu) is greater than
max_binlog_cache_size (%lu); setting binlog_cache_size equal to
max_binlog_cache_size.
Сообщение: Cannot use %s access on index '%s' due to type or
collation conversion on field '%s'
Сообщение: Table to exchange with partition has foreign key references: '%s'
Сообщение: Data for column '%s' too long
Сообщение: Replication event checksum verification failed while
reading from network.
Сообщение: Option binlog_stmt_cache_size (%lu) is greater than
max_binlog_stmt_cache_size (%lu); setting binlog_stmt_cache_size
equal to max_binlog_stmt_cache_size.
Сообщение: Can't update table '%s' while '%s' is being created.
Сообщение: PARTITION () clause on non partitioned table
Сообщение: Found a row not matching the given partition set
Сообщение: Failure while changing the type of replication repository: %s.
Сообщение: The creation of some temporary tables could not be rolled back.
Сообщение: Some temporary tables were dropped, but these operations
could not be rolled back.
Сообщение: %s is not supported in multi-threaded slave mode. %s
Сообщение: The number of modified databases exceeds the maximum %d;
the database names will not be included in the
replication event metadata.
Сообщение: Cannot execute the current event group in the parallel
mode. Encountered event %s, relay-log name %s, position %s which
prevents execution of this event group in parallel mode. Reason: %s.
Сообщение: %s
Сообщение: FULLTEXT index is not supported for partitioned tables.
Сообщение: Invalid condition number
Сообщение: Sending passwords in plain text without SSL/TLS
is extremely insecure.
Сообщение: Storing MySQL user name or password information in the
master info repository is not secure and is therefore not
recommended. Please consider using the USER and PASSWORD
connection options for START SLAVE; see the 'START SLAVE Syntax'
in the MySQL Manual for more information.
Сообщение: Foreign key constraint for table '%s', record '%s' would
lead to a duplicate entry in table '%s', key '%s'
Сообщение: Foreign key constraint for table '%s', record '%s' would
lead to a duplicate entry in a child table
Сообщение: Setting authentication options is not possible when only
the Slave SQL Thread is being started.
Сообщение: The table does not have FULLTEXT index to support this query
Сообщение: The system variable %s cannot be set in stored
functions or triggers.
Сообщение: The system variable %s cannot be set when there is an
ongoing transaction.
Сообщение: The statement 'SET %s' cannot invoke a stored function.
Сообщение: The system variable @@SESSION.GTID_NEXT cannot be
'AUTOMATIC' when @@SESSION.GTID_NEXT_LIST is non-NULL.
Сообщение: Malformed GTID set specification '%s'.
Сообщение: Malformed GTID set encoding.
Сообщение: Malformed GTID specification '%s'.
Сообщение: Impossible to generate Global Transaction Identifier: the
integer component reached the maximal value. Restart the server
with a new server_uuid.
Сообщение: Parameters MASTER_LOG_FILE, MASTER_LOG_POS,
RELAY_LOG_FILE and RELAY_LOG_POS cannot be set when
MASTER_AUTO_POSITION is active.
Сообщение: CHANGE MASTER TO MASTER_AUTO_POSITION = 1 cannot be
executed because @@GLOBAL.GTID_MODE = OFF.
Сообщение: Cannot execute statements with implicit commit inside a
transaction when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
Сообщение: GTID_MODE = ON requires ENFORCE_GTID_CONSISTENCY = ON.
Сообщение: @@SESSION.GTID_NEXT cannot be set to UUID:NUMBER when
@@GLOBAL.GTID_MODE = OFF.
Сообщение: @@SESSION.GTID_NEXT cannot be set to ANONYMOUS when
@@GLOBAL.GTID_MODE = ON.
Сообщение: @@SESSION.GTID_NEXT_LIST cannot be set to a non-NULL
value when @@GLOBAL.GTID_MODE = OFF.
Сообщение: Statement violates GTID consistency: Updates to
non-transactional tables can only be done in either autocommitted
statements or single-statement transactions, and never in the same
statement as updates to transactional tables.
Сообщение: Statement violates GTID consistency: CREATE TABLE ... SELECT.
Сообщение: Statement violates GTID consistency: CREATE TEMPORARY
TABLE and DROP TEMPORARY TABLE can only be executed outside
transactional context. These statements are also not allowed in a
function or trigger because functions and triggers are also
considered to be multi-statement transactions.
Сообщение: The value of @@GLOBAL.GTID_MODE can only be changed one
step at a time: OFF <-> OFF_PERMISSIVE <->
ON_PERMISSIVE <-> ON. Also note that this value must be
stepped up or down simultaneously on all servers.
See the Manual for instructions.
Сообщение: The slave is connecting using CHANGE MASTER TO
MASTER_AUTO_POSITION = 1, but the master has purged binary logs
containing GTIDs that the slave requires.
Сообщение: @@SESSION.GTID_NEXT cannot be changed by a client that
owns a GTID. The client owns %s. Ownership is released on
COMMIT or ROLLBACK.
Сообщение: Unknown EXPLAIN format name: '%s'
Сообщение: Cannot execute statement in a READ ONLY transaction.
Сообщение: Comment for table partition '%s' is too long (max = %lu)
Сообщение: Slave is not configured or failed to initialize properly.
You must at least set --server-id to enable either a master or a
slave. Additional error messages can be found in the MySQL error log.
Сообщение: InnoDB presently supports one FULLTEXT index creation at a time
Сообщение: Cannot create FULLTEXT index on temporary InnoDB table
Сообщение: Column '%s' is of wrong type for an InnoDB FULLTEXT index
Сообщение: Index '%s' is of wrong type for an InnoDB FULLTEXT index
Сообщение: Creating index '%s' required more than
'innodb_online_alter_log_max_size' bytes of modification log.
Please try again.
Сообщение: Unknown ALGORITHM '%s'
Сообщение: Unknown LOCK type '%s'
Сообщение: CHANGE MASTER cannot be executed when the slave was
stopped with an error or killed in MTS mode. Consider using RESET
SLAVE or START SLAVE UNTIL.
Сообщение: Cannot recover after SLAVE errored out in parallel
execution mode. Additional error messages can be found in the
MySQL error log.
Сообщение: Cannot clean up worker info tables. Additional error
messages can be found in the MySQL error log.
Сообщение: Column count of %s.%s is wrong. Expected %d, found %d.
The table is probably corrupted
Сообщение: Slave must silently retry current transaction
Сообщение: There is a foreign key check running on table '%s'.
Cannot discard the table.
Сообщение: Schema mismatch (%s)
Сообщение: Table '%s' in system tablespace
Сообщение: IO Read error: (%lu, %s) %s
Сообщение: IO Write error: (%lu, %s) %s
Сообщение: Tablespace is missing for table %s.
Сообщение: Tablespace '%s' exists.
Сообщение: Tablespace has been discarded for table '%s'
Сообщение: Internal error: %s
Сообщение: ALTER TABLE %s IMPORT TABLESPACE failed with error %lu : '%s'
Сообщение: Index corrupt: %s
Сообщение: Supports only YEAR or YEAR(4) column.
Сообщение: Your password does not satisfy the current policy requirements
Сообщение: You must reset your password using ALTER USER statement
before executing this statement.
Сообщение: Failed to add the foreign key constaint. Missing index
for constraint '%s' in the foreign table '%s'
Сообщение: Failed to add the foreign key constaint. Missing index
for constraint '%s' in the referenced table '%s'
Сообщение: Failed to add the foreign key constraint '%s' to system tables
Сообщение: Failed to open the referenced table '%s'
Сообщение: Failed to add the foreign key constraint on table '%s'.
Incorrect options in FOREIGN KEY constraint '%s'
Сообщение: Duplicate foreign key constraint name '%s'
Сообщение: The password hash doesn't have the expected format. Check
if the correct password algorithm is being used with the
PASSWORD() function.
Сообщение: Cannot drop column '%s': needed in a foreign key constraint '%s'
Сообщение: Cannot drop column '%s': needed in a foreign key
constraint '%s' of table '%s'
Сообщение: Column '%s' cannot be NOT NULL: needed in a foreign key
constraint '%s' SET NULL
Сообщение: Duplicate index '%s' defined on the table '%s.%s'. This
is deprecated and will be disallowed in a future release.
Сообщение: Cannot change column '%s': used in a foreign key constraint '%s'
Сообщение: Cannot change column '%s': used in a foreign key
constraint '%s' of table '%s'
Сообщение: Malformed communication packet.
Сообщение: Running in read-only mode
Сообщение: When @@SESSION.GTID_NEXT is set to a GTID, you must
explicitly set it to a different value after a COMMIT or ROLLBACK.
Please check GTID_NEXT variable manual page for detailed
explanation. Current @@SESSION.GTID_NEXT is '%s'.
Сообщение: The system variable %s cannot be set in stored procedures.
Сообщение: @@GLOBAL.GTID_PURGED can only be set when
@@GLOBAL.GTID_EXECUTED is empty.
Сообщение: @@GLOBAL.GTID_PURGED can only be set when there are no
ongoing transactions (not even in other clients).
Сообщение: @@GLOBAL.GTID_PURGED was changed from '%s' to '%s'.
Сообщение: @@GLOBAL.GTID_EXECUTED was changed from '%s' to '%s'.
Сообщение: Cannot execute statement: impossible to write to binary
log since BINLOG_FORMAT = STATEMENT, and both replicated and non
replicated tables are written to.
Сообщение: %s is not supported for this operation. Try %s.
Сообщение: %s is not supported. Reason: %s. Try %s.
Сообщение: COPY algorithm requires a lock
Сообщение: Partition specific operations do not yet support LOCK/ALGORITHM
Сообщение: Columns participating in a foreign key are renamed
Сообщение: Cannot change column type INPLACE
Сообщение: Adding foreign keys needs foreign_key_checks=OFF
Сообщение: Dropping a primary key is not allowed without also adding
a new primary key
Сообщение: Adding an auto-increment column requires a lock
Сообщение: Cannot replace hidden FTS_DOC_ID with a user-visible one
Сообщение: Cannot drop or rename FTS_DOC_ID
Сообщение: Fulltext index creation requires a lock
Сообщение: sql_slave_skip_counter can not be set when the server is
running with @@GLOBAL.GTID_MODE = ON. Instead, for each
transaction that you want to skip, generate an empty transaction
with the same GTID as the transaction
Сообщение: Duplicate entry for key '%s'
Сообщение: Long database name and identifier for object resulted in
path length exceeding %d characters. Path: '%s'.
Сообщение: cannot silently convert NULL values, as required in this SQL_MODE
Сообщение: Your password has expired. To log in you must change it
using a client that supports expired passwords.
Сообщение: Found a row in wrong partition %s
Сообщение: Cannot schedule event %s, relay-log name %s, position %s
to Worker thread because its size %lu exceeds %lu of
slave_pending_jobs_size_max.
Сообщение: The binary log file '%s' is logically corrupted: %s
Сообщение: file %s was not purged because it was being read by %d
thread(s), purged only %d out of %d files.
Сообщение: file %s was not purged because it is the active log file.
Сообщение: Auto-increment value in UPDATE conflicts with internally
generated values
Сообщение: Row events are not logged for %s statements that modify
BLACKHOLE tables in row format. Table(s): '%s'
Сообщение: Slave failed to initialize master info structure
from the repository
Сообщение: Slave failed to initialize relay log info structure from
the repository
Сообщение: Access denied trying to change to user '%s'@'%s' (using
password: %s). Disconnecting.
Сообщение: InnoDB is in read only mode.
Сообщение: STOP SLAVE command execution is incomplete: Slave SQL
thread got the stop signal, thread is busy, SQL thread will stop
once the current task is complete.
Сообщение: STOP SLAVE command execution is incomplete: Slave IO
thread got the stop signal, thread is busy, IO thread will stop
once the current task is complete.
Сообщение: Operation cannot be performed. The table '%s.%s' is
missing, corrupt or contains bad data.
Сообщение: Temporary file write failure.
Сообщение: Upgrade index name failed, please use create index(alter
table) algorithm copy to rebuild index.
Сообщение: TIME/TIMESTAMP/DATETIME columns of old format have been
upgraded to the new format.
Сообщение: Operation not allowed when innodb_forced_recovery > 0.
Сообщение: The initialization vector supplied to %s is too short.
Must be at least %d bytes long
Сообщение: Plugin '%s' cannot be uninstalled now. %s
Сообщение: Cannot execute statement because it needs to be written
to the binary log as multiple statements, and this is not allowed
when @@SESSION.GTID_NEXT == 'UUID:NUMBER'.
Сообщение: Slave has more GTIDs than the master has, using the
master's SERVER_UUID. This may indicate that the end of the binary
log was truncated or that the last binary log file was lost, e.g.,
after a power or disk failure when sync_binlog != 1. The master
may or may not have rolled back transactions that were already
replicated to the slave. Suggest to replicate any transactions
that master has rolled back from slave to master, and/or commit
empty transactions on master to account for transactions that have
been committed on master but are not included in GTID_EXECUTED.
Сообщение: File %s is corrupted
Сообщение: Query partially completed on the master (error on master:
%d) and was aborted. There is a chance that your master is
inconsistent at this point. If you are sure that your master is
ok, run this query manually on the slave and then restart the
slave with SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;. Query:'%s'
Сообщение: Query caused different errors on master and slave. Error
on master: message (format)='%s' error code=%d; Error on
slave:actual message='%s', error code=%d. Default database:'%s'. Query:'%s'
Сообщение: Storage engine for table '%s'.'%s' is not loaded.
Сообщение: GET STACKED DIAGNOSTICS when handler not active
Сообщение: %s is no longer supported. The statement was converted to %s.
Сообщение: Statement is unsafe because it uses a fulltext parser
plugin which may not return the same value on the slave.
Сообщение: Cannot DISCARD/IMPORT tablespace associated with temporary table
Сообщение: Foreign key cascade delete/update exceeds max depth of %d.
Сообщение: Column count of %s.%s is wrong. Expected %d, found %d.
Created with MySQL %d, now running %d. Please use mysql_upgrade to
fix this error.
Сообщение: Trigger %s.%s.%s does not have CREATED attribute.
Сообщение: Referenced trigger '%s' for the given action time and
event type does not exist.
Сообщение: EXPLAIN FOR CONNECTION command is supported only for
SELECT/UPDATE/INSERT/DELETE/REPLACE
Сообщение: Invalid size for column '%s'.
Сообщение: Table storage engine '%s' found required create option missing
Сообщение: Out of memory in storage engine '%s'.
Сообщение: The password for anonymous user cannot be expired.
Сообщение: This operation cannot be performed with a running slave
sql thread; run STOP SLAVE SQL_THREAD first
Сообщение: Cannot create FULLTEXT index on materialized subquery
Сообщение: Undo Log error: %s
Сообщение: Invalid argument for logarithm
Сообщение: This operation cannot be performed with a running slave
io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '%s' first.
Сообщение: This operation may not be safe when the slave has
temporary tables. The tables will be kept open until the server
restarts or until the tables are deleted by any replicated DROP
statement. Suggest to wait until slave_open_temp_tables = 0.
Сообщение: CHANGE MASTER TO with a MASTER_LOG_FILE clause but no
MASTER_LOG_POS clause may not be safe. The old position value may
not be valid for the new binary log file.
Сообщение: Query execution was interrupted, maximum statement
execution time exceeded
Сообщение: Select is not a read only statement, disabling timer
Сообщение: Duplicate entry '%s'.
Сообщение: Expression #%u of ORDER BY contains aggregate function
and applies to a UNION
Сообщение: Expression #%u of ORDER BY contains aggregate function
and applies to the result of a non-aggregated query
Сообщение: Slave worker has stopped after at least one previous
worker encountered an error when slave-preserve-commit-order was
enabled. To preserve commit order, the last transaction executed
by this thread has not been committed. When restarting the slave
after fixing any failed threads, you should fix this worker as well.
Сообщение: slave_preserve_commit_order is not supported %s.
Сообщение: The server is currently in offline mode
Сообщение: Binary geometry function %s given two geometries of
different srids: %u and %u, which should have been identical.
Geometry values passed as arguments to spatial functions must have
the same SRID value.
Сообщение: Calling geometry function %s with unsupported types of arguments.
A spatial function was called with a combination of argument types
that the function does not support.
Сообщение: Unknown GIS error occured in function %s.
Сообщение: Unknown exception caught in GIS function %s.
Сообщение: Invalid GIS data provided to function %s.
A spatial function was called with an argument not recognized as a
valid geometry value.
Сообщение: The geometry has no data in function %s.
Сообщение: Unable to calculate centroid because geometry is empty in
function %s.
Сообщение: Geometry overlay calculation error: geometry data is
invalid in function %s.
Сообщение: Geometry turn info calculation error: geometry data is
invalid in function %s.
Сообщение: Analysis procedures of intersection points interrupted
unexpectedly in function %s.
Сообщение: Unknown exception thrown in function %s.
Сообщение: Memory allocation error: %s in function %s.
Сообщение: Domain error: %s in function %s.
Сообщение: Length error: %s in function %s.
Сообщение: Invalid argument error: %s in function %s.
Сообщение: Out of range error: %s in function %s.
Сообщение: Overflow error error: %s in function %s.
Сообщение: Range error: %s in function %s.
Сообщение: Underflow error: %s in function %s.
Сообщение: Logic error: %s in function %s.
Сообщение: Runtime error: %s in function %s.
Сообщение: Unknown exception: %s in function %s.
Сообщение: Geometry byte string must be little endian.
Сообщение: The password provided for the replication user exceeds
the maximum length of 32 characters
Сообщение: Incorrect user-level lock name '%s'.
Сообщение: Deadlock found when trying to get user-level lock; try
rolling back transaction/releasing locks and
restarting lock acquisition.
This error is returned when the metdata locking subsystem detects
a deadlock for an attempt to acquire a named lock with
Сообщение: REPLACE cannot be executed as it requires deleting rows
that are not in the view
Сообщение: Do not support online operation on table with GIS index
Сообщение: User variable name '%s' is illegal
Сообщение: Cannot %s when GTID_MODE = OFF.
Сообщение: Incorrect type for argument %s in function %s.
Сообщение: Expression #%u of ORDER BY clause is not in SELECT list,
references column '%s' which is not in SELECT list; this
is incompatible with %s
Сообщение: Expression #%u of ORDER BY clause is not in SELECT list,
contains aggregate function; this is incompatible with %s
Сообщение: Supplied filter list contains a value which is not in the
required format 'db_pattern.table_pattern'
Сообщение: OK packet too large
Сообщение: Invalid JSON data provided to function %s: %s
Сообщение: Invalid GeoJSON data provided to function %s: Missing
required member '%s'
Сообщение: Invalid GeoJSON data provided to function %s: Member '%s'
must be of type '%s'
Сообщение: Invalid GeoJSON data provided to function %s
Сообщение: Unsupported number of coordinate dimensions in function
%s: Found %u, expected %u
Сообщение: Slave channel '%s' does not exist.
Сообщение: Couldn't create channel: Channel name is either invalid
or too long.
Сообщение: To have multiple channels, repository cannot be of type
FILE; Please check the repository configuration and convert
them to TABLE.
Сообщение: Multiple channels exist on the slave. Please provide
channel name as an argument.
Сообщение: Maximum number of replication channels allowed exceeded.
Сообщение: This operation cannot be performed with running
replication threads; run STOP SLAVE FOR CHANNEL '%s' first
Сообщение: This operation requires running replication threads;
configure slave and run START SLAVE FOR CHANNEL '%s'
Сообщение: Replication thread(s) for channel '%s' are already
runnning.
Сообщение: Replication thread(s) for channel '%s' are already
stopped.
Сообщение: This operation cannot be performed with a running slave
sql thread; run STOP SLAVE SQL_THREAD FOR CHANNEL '%s' first.
Сообщение: When sql_slave_skip_counter > 0, it is not allowed to
start more than one SQL thread by using 'START SLAVE
[SQL_THREAD]'. Value of sql_slave_skip_counter can only be used by
one SQL thread at a time. Please use 'START SLAVE [SQL_THREAD] FOR
CHANNEL' to start the SQL thread which will use the value of
sql_slave_skip_counter.
Сообщение: Expression #%u of %s is not in GROUP BY clause and
contains nonaggregated column '%s' which is not functionally
dependent on columns in GROUP BY clause; this is incompatible with
sql_mode=only_full_group_by
Сообщение: In aggregated query without GROUP BY, expression #%u of
%s contains nonaggregated column '%s'; this is incompatible with
sql_mode=only_full_group_by
Сообщение: Updating '%s' is deprecated. It will be made read-only
in a future release.
Сообщение: Changing sql mode '%s' is deprecated. It will be removed
in a future release.
Сообщение: DROP DATABASE failed; some tables may have been dropped
but the database directory remains. The GTID has not been added to
GTID_EXECUTED and the statement was not written to the binary log.
Fix this as follows: (1) remove all files from the database
directory %s; (2) SET GTID_NEXT='%s'; (3) DROP DATABASE `%s`.
Сообщение: The server is not configured properly to be an active
member of the group. Please see more details on error log.
This error is reserved for future use.
Сообщение: The START GROUP_REPLICATION command failed since the
group is already running.
This error is reserved for future use.
Сообщение: The START GROUP_REPLICATION command failed as the applier
module failed to start.
This error is reserved for future use.
Сообщение: The STOP GROUP_REPLICATION command execution is
incomplete: The applier thread got the stop signal while it was
busy. The applier thread will stop once the current task is
complete.
This error is reserved for future use.
Сообщение: The START GROUP_REPLICATION command failed as there was
an error when initializing the group communication layer.
This error is reserved for future use.
Сообщение: The START GROUP_REPLICATION command failed as there was
an error when joining the communication group.
This error is reserved for future use.
Сообщение: The table does not comply with the requirements by an
external plugin.
This error is reserved for future use.
Сообщение: Cannot change the value of variable %s without binary log
format as ROW.
This error is reserved for future use.
Сообщение: Error on observer while running replication hook '%s'.
This error is reserved for future use.
Сообщение: Plugin instructed the server to rollback the current transaction.
This error is reserved for future use.
Сообщение: Expression of generated column '%s' contains a disallowed function.
Сообщение: INPLACE ADD or DROP of virtual columns cannot be combined
with other ALTER TABLE actions
Сообщение: Cannot define foreign key with %s clause on a generated column.
Сообщение: The value specified for generated column '%s' in table
'%s' is not allowed.
Сообщение: '%s' is not supported for generated columns.
Сообщение: Generated column can refer only to generated columns
defined prior to it. Измените табличное определение, чтобы определить каждый произведенный
столбец позже чем любые произведенные столбцы, к которым это обращается. Сообщение: Column '%s' has a generated column dependency. Вы не можете удалить или переименовать произведенный столбец, если другой
столбец обращается к нему. Вы должны или удалить те столбцы также, или
пересмотреть их, чтобы не обращались к произведенному столбцу. Сообщение: Generated column '%s' cannot refer to auto-increment column.
Сообщение: The '%s' feature is not available; you need to remove
'%s' or use MySQL built with '%s'
Сообщение: SET @@GLOBAL.GTID_MODE = %s is not allowed because %s.
Сообщение: The replication receiver thread%s cannot start in
AUTO_POSITION mode: this server uses @@GLOBAL.GTID_MODE = OFF.
Сообщение: Cannot replicate anonymous transaction when AUTO_POSITION
= 1, at file %s, position %lld.
Сообщение: Cannot replicate anonymous transaction when
@@GLOBAL.GTID_MODE = ON, at file %s, position %lld.
Сообщение: Cannot replicate GTID-transaction when @@GLOBAL.GTID_MODE
= OFF, at file %s, position %lld.
Сообщение: Cannot set ENFORCE_GTID_CONSISTENCY = ON because there
are ongoing transactions that violate GTID consistency.
Сообщение: There are ongoing transactions that violate GTID consistency.
Сообщение: Access denied for user '%s'@'%s'. Account is locked. Учетная запись была заблокирована Сообщение: Incorrect tablespace name `%s`
Сообщение: Tablespace `%s` is not empty.
Сообщение: Incorrect File Name '%s'.
Сообщение: Inconsistent intersection points.
Сообщение: Optimizer hint syntax error
Сообщение: Unsupported MAX_EXECUTION_TIME
Сообщение: MAX_EXECUTION_TIME hint is supported by top-level
standalone SELECT statements only Подсказка оптимизатора Сообщение: Hint %s is ignored as conflicting/duplicated
Сообщение: Query block name %s is not found for %s hint
Сообщение: Unresolved name %s for %s hint
Сообщение: Please do not modify the %s table. This is a mysql
internal system table to store GTIDs for committed transactions.
Modifying it can lead to an inconsistent GTID state.
Сообщение: Command not supported by pluggable protocols
Сообщение: Incorrect locking service lock name '%s'. Имя службы блокировки было определено как Сообщение: Deadlock found when trying to get locking service lock;
try releasing locks and restarting lock acquisition.
Сообщение: Service lock wait timeout exceeded.
Сообщение: Parameter %s exceeds the maximum number of points in a
geometry (%lu) in function %s.
Сообщение: 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and
'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict
mode. They will be merged with strict mode in a future release.
Сообщение: Version token mismatch for %.*s. Correct value %.*s Клиент установил системную переменную
Сообщение: Version token %.*s not found. Клиент установил системную переменную
Сообщение: Variable %s cannot be changed by a client that owns a
GTID. The client owns %s. Ownership is released on
COMMIT or ROLLBACK.
Сообщение: %s cannot be performed on channel '%s'.
Сообщение: Invalid JSON text: "%s" at position %u in value for column '%s'.
Сообщение: Invalid JSON text in argument %u to
function %s: "%s" at position %u.%s
Сообщение: The JSON binary value contains invalid data.
Сообщение: Invalid JSON path expression. The error is around
character position %u.%s
Сообщение: Cannot create a JSON value from a string with CHARACTER
SET '%s'.
Сообщение: Invalid JSON character data provided to function %s:
'%s'; utf8 is required.
Сообщение: Invalid data type for JSON data in argument %u to
function %s; a JSON string or JSON type is required.
Сообщение: Cannot CAST value to JSON.
Сообщение: A path expression must be encoded in the utf8 character
set. The path expression '%s' is encoded in character set '%s'.
Сообщение: In this situation, path expressions may not contain the *
and ** tokens.
Сообщение: The JSON value is too big to be stored in a JSON column.
Сообщение: The JSON object contains a key name that is too long.
Сообщение: JSON column '%s' cannot be used in key specification.
Сообщение: The path expression '$' is not allowed in this context.
Сообщение: The oneOrAll argument to %s may take these values: 'one' or 'all'.
Сообщение: Out of range JSON value for CAST to %s%s from column %s
at row %ld
Сообщение: Invalid JSON value for CAST to %s%s from column %s at row %ld
Сообщение: The JSON document exceeds the maximum depth.
Сообщение: JSON documents may not contain NULL member names.
Сообщение: Connections using insecure transport are prohibited while
--require_secure_transport=ON. С системной переменной
Сообщение: No secure transports (SSL or Shared Memory) are
configured, unable to set --require_secure_transport=ON. Системная переменная
Сообщение: Storage engine %s is disabled (Table creation is disallowed).
Была предпринята попытка составить таблицу или табличное пространство,
используя механизм хранения, перечисленный в значении системной переменной
Сообщение: User %s does not exist. Сообщение: User %s already exists. Сообщение: Aborted by Audit API ('%s';%d). Эта ошибка указывает, что плагин аудита прервал обработку события.
Сообщение, как правило, указывает на имя подкласса событий и
числовое значение состояния. Сообщение: A path expression is not a path to a cell in an array. Сообщение: Another buffer pool resize is already in progress. Сообщение: The '%s' feature is disabled; see the documentation for '%s'
Сообщение: Server isn't available
Сообщение: Session was killed
Сообщение: Memory capacity of %llu bytes for '%s' exceeded. %s
Сообщение: Range optimization was not done for this query.
Сообщение: The client holds ownership of the GTID %s. Therefore,
WAIT_FOR_EXECUTED_GTID_SET cannot wait for this GTID. Сообщение: Cannot add foreign key on the base column of
indexed virtual column. Сообщение: Cannot create index on virtual column whose base column
has foreign constraint. Сообщение: Please do not modify the %s table with an XA transaction.
This is an internal system table used to store GTIDs for committed
transactions. Although modifying it can lead to an inconsistent
GTID state, if neccessary you can modify it with a non-XA transaction.
Сообщение: Lock acquisition refused by storage engine.
Сообщение: ADD COLUMN col...VIRTUAL, ADD INDEX(col)
Сообщение: Master key rotation is not supported by storage engine.
Сообщение: Write to binlog failed. However, master key rotation has
been completed successfully.
Сообщение: Storage engine is not available.
Сообщение: This tablespace can't be encrypted.
Сообщение: Invalid encryption option.
Сообщение: Can't find master key from keyring, please check keyring
plugin is loaded.
Сообщение: Parser bailed out for this query.
Сообщение: Cannot alter encryption attribute by inplace algorithm.
Сообщение: Function '%s' failed because underlying keyring service
returned an error. Please check if a keyring plugin is installed
and that provided arguments are valid for the keyring you are using.
Сообщение: It seems that your db schema is old. The %s column is 77
characters long and should be 93 characters long. Please run
mysql_upgrade.
Сообщение: RESET MASTER is not allowed because %s.
Сообщение: The START GROUP_REPLICATION command failed since the
group already has 9 members.
Сообщение: Cannot add foreign key on the base column of stored column.
Сообщение: Cannot complete the operation because table is referenced
by another connection.
Сообщение: CREATE TEMPORARY TABLE is not allowed with
ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Сообщение: The ACL operation failed due to the following error from
SE: errcode %d - %s
Сообщение: This storage engine does not support the %s index
algorithm, storage engine default was used instead.
Сообщение: Database '%s' doesn't exist
Сообщение: Too many enumeration values for column %s.
Сообщение: Too long enumeration/set value for column %s.
Сообщение: %s dictionary object is invalid. (%s)
Сообщение: Failed to update %s dictionary object.
Сообщение: Dictionary object id (%lu) does not exist.
Сообщение: Dictionary object name '%s' is invalid. (%s)
Сообщение: Tablespace %s doesn't exist.
Сообщение: Comment for routine '%s' is too long (max = %lu)
Сообщение: Failed to load routine '%s'.
Сообщение: Binary operands of bitwise operators must be of equal length
Сообщение: Aggregate bitwise functions cannot accept arguments
longer than 511 bytes; consider using the SUBSTRING() function
Сообщение: Hints aren't supported in %s
Сообщение: %s value is a geometry of unexpected type %s in %s.
Сообщение: Can't parse the spatial reference system definition of SRID %u.
Сообщение: The spatial reference system definition for SRID %u does
not specify the mandatory %s (EPSG %u) projection parameter.
Сообщение: There's no spatial reference system with SRID %u.
Calculations in function %s will be done in SRID 0.
Сообщение: Function %s is only defined for Cartesian spatial
reference systems, but one of its arguments is in SRID %u, which
is not Cartesian.
Сообщение: Function %s is only defined for Cartesian spatial
reference systems, but one of its arguments is in SRID %u, which
has not been defined.
Сообщение: A primary key index cannot be invisible
Сообщение: Unknown authorization ID `%s`@`%s`
Сообщение: Failed to grant %s` to %s
Сообщение: Failed to open the security system tables
Сообщение: Failed to set default roles
Сообщение: Cannot find schema in specified URN: '%s'.
Сообщение: Cannot acquire scheme load service implementation for
schema '%s' in specified URN: '%s'.
Сообщение: Cannot load component from specified URN: '%s'.
Сообщение: `%s`@`%s` is not granted to `%s`@`%s`
Сообщение: Could not revoke role from `%s`@`%s`
Сообщение: Renaming of a role identifier is forbidden
Сообщение: Cannot acquire specified service implementation: '%s'.
Сообщение: Cannot satisfy dependency for service '%s'
required by component '%s'.
Сообщение: Cannot register service implementation '%s'
provided by component '%s'.
Сообщение: Initialization method provided by component '%s' failed.
Сообщение: Component specified by URN '%s' to unload has not
been loaded before.
Сообщение: De-initialization method provided by component '%s' failed.
Сообщение: Release of previously acquired service implementation
failed.
Сообщение: Unregistration of service implementation '%s' provided by
component '%s' failed during unloading of the component.
Сообщение: Cannot unload component from specified URN: '%s'.
Сообщение: The Persistent Dynamic Loader was used to unload a
component '%s', but it was not used to load that component before.
Сообщение: The mysql.component table is missing or has an incorrect definition.
Сообщение: Failed to manipulate component '%s' persistence data.
Error code %d from storage engine.
Сообщение: The component with specified URN: '%s' was specified in
group more than once.
Сообщение: @@GLOBAL.GTID_PURGED cannot be changed: %s
Сообщение: Can not lock user management caches for processing.
Сообщение: There's no spatial reference system with SRID %u.
Сообщение: Variables cannot be persisted. Please retry.
Сообщение: Information schema queries do not support the '%s' clause.
Сообщение: Unable to store dynamic %s statistics into data dictionary.
Сообщение: Access to system schema '%s' is rejected.
Сообщение: Access to system tablespace '%s' is rejected.
Сообщение: Access to %s '%s.%s' is rejected. Сообщение: data dictionary table
Сообщение: system table
Сообщение: table Информация об ошибке клиента прибывает из следующих исходных файлов: Значения ошибок и символы в круглых скобках соответствуют
определениям в файле Поскольку обновления бывают часто, возможно, что те файлы будут
содержать дополнительную информацию об ошибках, не перечисленную здесь.
Ошибка:
Сообщение: Unknown MySQL error
Сообщение: Can't create UNIX socket (%d)
Сообщение: Can't connect to local MySQL server through socket '%s' (%d)
Сообщение: Can't connect to MySQL server on '%s' (%d)
Сообщение: Can't create TCP/IP socket (%d)
Сообщение: Unknown MySQL server host '%s' (%d)
Сообщение: MySQL server has gone away
Сообщение: Protocol mismatch; server version = %d, client version =
%d
Сообщение: MySQL client ran out of memory
Сообщение: Wrong host info
Сообщение: Localhost via UNIX socket
Сообщение: %s via TCP/IP
Сообщение: Error in server handshake
Сообщение: Lost connection to MySQL server during query
Сообщение: Commands out of sync; you can't run this command now
Сообщение: Named pipe: %s
Сообщение: Can't wait for named pipe to host: %s pipe: %s (%lu)
Сообщение: Can't open named pipe to host: %s pipe: %s (%lu)
Сообщение: Can't set state of named pipe to host: %s pipe: %s (%lu)
Сообщение: Can't initialize character set %s (path: %s)
Сообщение: Got packet bigger than 'max_allowed_packet' bytes
Сообщение: Embedded server
Сообщение: Error on SHOW SLAVE STATUS:
Сообщение: Error on SHOW SLAVE HOSTS:
Сообщение: Error connecting to slave:
Сообщение: Error connecting to master:
Сообщение: SSL connection error: %s
Сообщение: Malformed packet
Сообщение: This client library is licensed only for use with MySQL
servers having '%s' license
Сообщение: Invalid use of null pointer
Сообщение: Statement not prepared
Сообщение: No data supplied for parameters in prepared statement
Сообщение: Data truncated
Сообщение: No parameters exist in the statement
Сообщение: Invalid parameter number Номер столбца для
Имя ключа было пустое, или количество данных о признаке соединения для
Сообщение: Can't send long data for non-string/non-binary data types
(parameter: %d)
Сообщение: Using unsupported buffer type: %d (parameter: %d)
Сообщение: Shared memory: %s
Сообщение: Can't open shared memory; client could not
create request event (%lu)
Сообщение: Can't open shared memory; no answer event received from
server (%lu)
Сообщение: Can't open shared memory; server could not allocate file
mapping (%lu)
Сообщение: Can't open shared memory; server could not get pointer to
file mapping (%lu)
Сообщение: Can't open shared memory; client could not allocate file
mapping (%lu)
Сообщение: Can't open shared memory; client could not get pointer to
file mapping (%lu)
Сообщение: Can't open shared memory; client could not create %s
event (%lu)
Сообщение: Can't open shared memory; no answer from server (%lu)
Сообщение: Can't open shared memory; cannot send request event to
server (%lu)
Сообщение: Wrong or unknown protocol
Сообщение: Invalid connection handle
Сообщение: Connection using old (pre-4.1.1) authentication protocol
refused (client option 'secure_auth' enabled)
Сообщение: Row retrieval was canceled by mysql_stmt_close() call
Сообщение: Attempt to read column without prior row fetch
Сообщение: Prepared statement contains no metadata
Сообщение: Attempt to read a row while there is no result set
associated with the statement
Сообщение: This feature is not implemented yet
Сообщение: Lost connection to MySQL server at '%s', system error: %d
Сообщение: Statement closed indirectly because of a preceding %s() call
Сообщение: The number of columns in the result set differs from the
number of bound buffers. You must reset the statement, rebind the
result set columns, and execute the statement again
Сообщение: This handle is already connected. Use a separate handle
for each connection.
Сообщение: Authentication plugin '%s' cannot be loaded: %s Сообщение: There is an attribute with the same name already Дубликат имени атрибута соединения был определен для
Сообщение: Authentication plugin '%s' reported error: %s Сообщение: Insecure API function call: '%s' Use instead: '%s' Был обнаружен опасный вызов функции. Измените приложение, чтобы
использовать предложенную альтернативную функцию вместо этого.
Этот раздел перечисляет некоторые типичные проблемы и сообщения об
ошибках, с которыми Вы можете столкнуться. Это описывает, как определить
причины проблем и что сделать, чтобы решить их. Когда Вы сталкиваетесь с проблемой, первая вещь, которую Вы должны
сделать, состоит в том, чтобы узнать, какая программа или элемент
оборудования вызывают ее: Если у Вас есть один из следующих признаков, то это, вероятно,
аппаратные проблемы (такие как память, материнская плата, центральный
процессор или жесткий диск) или проблема с ядром: Клавиатура не работает. Это может обычно проверяться, нажимая
клавишу caps lock. Если индикатор Caps Lock не изменяется, Вы должны заменить
свою клавиатуру. Прежде, чем это делать, Вы должны попытаться перезапустить
свой компьютер и проверить все кабели к клавиатуре. В этом случае, Вы должны проверить все Ваши кабели и выполнить некоторые
диагностические инструменты, чтобы проверить Ваши аппаратные средства! Вы
должны также проверить, есть ли какие-либо обновления или пакеты обновлений
для Вашей операционной системы, которые могли бы, вероятно, решить Вашу
проблему. Проверьте также что все Ваши библиотеки (такие, как
Всегда хорошо использовать машину с памятью ECC, чтобы быстро
обнаружить проблемы с памятью. Если после того, как Вы исследовали все другие возможности и пришли к
заключению, что сервер или клиент MySQL вызывают проблему, пора создать отчет
об ошибках для списка рассылки или команды поддержки. В отчете об ошибках,
попытайтесь дать очень подробное описание того, как система ведет себя и что
Вы думаете, происходит. Вы должны также заявить, почему Вы думаете, что
именно MySQL вызывает проблему. Учтите все ситуации в этой главе. Опишите
любые проблемы точно, как они появляются, когда Вы исследуете свою систему.
Используйте копирование и вставку для любых выходных сигналов и сообщений об
ошибках из программ и файлов системного журнала. Попытайтесь описать подробно, какая программа не работает и все признаки,
которые Вы видите. Мы получили в прошлом много отчетов об ошибках, которые
заявляют только "ничего не работает". Это не предоставляет
информации о том, что могло быть проблемой. Если программа терпит неудачу, всегда полезно знать следующую информацию:
Имеется ли segmentation fault (дамп ядра)? Посылая отчет об ошибках, Вы должны следовать схеме, описанной в
разделе 1.7. Этот раздел перечисляет некоторые ошибки, с которыми пользователи часто
сталкиваются, выполняя программы MySQL. Хотя проблемы обнаруживаются, когда
Вы пытаетесь выполнить программы клиента, решения многих из проблем вовлекают
изменение конфигурации сервера MySQL. Ошибка Клиент MySQL на Unix может соединиться с сервером
mysqld
двумя различными способами: используя файл сокета Unix, чтобы соединиться
через файл в файловой системе (значение по умолчанию
Если сервер MySQL работает на Windows, Вы можете соединиться по TCP/IP.
Если сервер запущен с опцией
Ошибка (2002) Ошибка (2003) Начните с проверки того, есть ли процесс
mysqld,
работающий на Вашем хосте сервера. Используйте
ps xa | grep mysqld в Unix или Task
Manager в Windows. Если нет такого процесса, Вы должны запустить сервер. См.
раздел 2.9.2. Если процесс mysqld
работает, Вы можете проверить это, пробуя следующие команды.
Номер порта или имя файла сокета Unix могут отличаться в Вашей установке.
Удостоверьтесь, что сервер не был сконфигурирован так, чтобы игнорировать
сетевые соединения или (если Вы пытаетесь соединиться удаленно), что он не
был сконфигурирован, чтобы слушать только локально на его сетевых
интерфейсах. Если сервер был запущен с опцией
Проверьте, что нет никакого брандмауэра, блокирующего доступ к MySQL. Ваш
брандмауэр может быть сконфигурирован на основе выполняемого приложения или
номера порта, используемого MySQL для коммуникации (3306 по умолчанию). Под
Linux или Unix, проверьте свои настройки IPtables (или подобные), чтобы
гарантировать, что порт не был заблокирован. Под Windows приложения, такие
как ZoneAlarm или Брандмауэр Windows, возможно, должны быть сконфигурированы,
чтобы не блокировать порт MySQL. Вот некоторые причины ошибки mysqld
не работает на локальном хосте. Проверьте список процессов своей
операционной системы, чтобы гарантировать, что присутствует процесс
mysqld. Если Вы получаете сообщение об ошибке Проверьте, работает ли сервер на том хосте, выполняя
Когда Вы выполняете сервер MySQL на Windows со многими соединениями TCP/IP
с ним, и Ваши клиенты получают ошибку Безопасно уменьшить Windows разрешает эфемерные (недолгие) порты TCP пользователю. После того,
как любой порт закрыт, это останется в статусе Windows Server 2003 и ранее: порты в диапазоне 1025-5000. С маленьким стеком доступных портов TCP (5000) и высоким числом портов
TCP, открытых и закрытых за короткий период времени наряду со статусом
Сократите количество портов TCP, потребляемых быстро, используя
объединение соединений или постоянные соединения, где только возможно. Следующая процедура вовлекает изменение реестра Windows. Прежде, чем Вы
измените реестр удостоверьтесь, что зарезервировали его и понимаете, как
восстановить, если проблема происходит. Для информации о том, как сохранить,
восстановить и отредактировать реестр, смотрите следующую статью в
Microsoft Knowledge Base:
http://support.microsoft.com/kb/256986/EN-US/. Запустите Registry Editor
( Отмена вышеупомянутого должна быть столь же проста, как удаление записей
реестра, которые Вы создали. Есть три вероятных причины для этого сообщения об ошибке. Обычно это указывает на сетевую проблему связи, и Вы должны проверить
работу своей сети, если эта ошибка часто происходит. Если сообщение об ошибке
включает during query, это, вероятно, имеет место.
Иногда during query происходит, когда миллионы
строк посылают как часть одного или более запросов. Если Вы знаете, что это
происходит, Вы должны попытаться увеличить
Также это может произойти, когда клиент делает попытку начального
соединения с сервером. В этом случае, если Ваше значение
Если причина не одна из только что описанных, Вы можете испытывать
проблему со значениями Клиенты MySQL запрашивают пароль когда вызваны с опцией
Если следующая ошибка происходит, это означает, что
mysqld
получил много запросов соединения от данного хоста, которые
были прерваны в середине:
По умолчанию mysqld
блокирует хост после 100 ошибок соединения. Вы можете
скорректировать значение, устанавливая
Если Вы получаете ошибку Числом разрешенных соединений управляет системная переменная
mysqld
фактически разрешает Максимальное количество соединений зависит от качества библиотеки потоков
на данной платформе, количества доступной RAM, сколько RAM используется для
каждого соединения, рабочей нагрузки каждого соединения и желаемого времени
отклика. Linux или Solaris должны быть в состоянии поддержать по крайней мере
500-1000 одновременных соединений обычно и целых 10000 соединений, если Вы
имеете много гигабайтов RAM в наличии, а рабочая нагрузка каждого низка или
некритично время отклика. Windows ограничена (открытые таблицы*2+открытые
соединения) < 2048 из-за уровня совместимости Posix, используемого
на этой платформе. Увеличение
Если Вы запускаете запрос, используя клиент
mysql и получаете ошибку как приведена
ниже, это означает, что у mysql
нет достаточной памяти, чтобы сохранить
весь результат запроса:
Этот раздел также покрывает связанную ошибку Наиболее распространенная причина ошибки По умолчанию, сервер закрывает соединение после восьми часов, если ничто
не произошло. Вы можете изменить ограничение по времени, устанавливая
переменную Если у Вас есть скрипт, Вы только должны запустить запрос снова для
клиента, чтобы сделать автоматическое пересоединение. Это предполагает, что у
Вас есть автоматическое пересоединение во включенном режиме на клиенте (что
является значением по умолчанию для Некоторые другие общие причины Вы (или администратор) уничтожили рабочий поток с
помощью Проблема на Windows состоит в том, что в некоторых случаях MySQL не
получает ошибку от OS при записи в соединение TCP/IP с сервером, а вместо
этого получает ошибку, пытаясь считать ответ из соединения. Решение этого состоит в том, чтобы или сделать
Запросы Вы можете также видеть ошибку Другая сетевая проблема, которая может вызвать эту ошибку, происходит,
если порт MySQL (значение по умолчанию 3306) заблокирован Вашим брандмауэром,
таким образом предотвращая какие-либо соединения вообще с сервером MySQL.
Вы можете проверить, упал ли сервер MySQL и перезапустить его, выполняя
mysqladmin version
и исследуя продолжительность работы сервера. Если бы соединение
клиента было сломано, потому что
mysqld
перезапускался, то Вы должны сконцентрироваться на обнаружении причины
катастрофического отказа. Вы можете получить больше информации о потерянных соединениях, запуская
mysqld с
системной переменной Если Вы хотите создать отчет об ошибке относительно этой проблемы,
убедитесь, что Вы включаете следующую информацию: Укажите, упал ли сервер MySQL. Вы можете найти информацию об этом
в журнале ошибок сервера. См. раздел B.5.3.3
. См. также разделы
B.5.2.10 и 1.7. Коммуникационный пакет единственный запрос SQL, посланный серверу MySQL,
единственная строка, которую посылают клиенту, или событие двоичного журнала,
посланное с основного сервера репликации ведомому устройству. Самым большим пакетом, который может быть передан к или из MySQL 8.0
серверов или клиент, является 1GB. Когда клиент MySQL или сервер
mysqld
получают пакет, больше чем
У клиента и сервера есть их собственные переменные
Если Вы используете клиента
mysql, значение по умолчанию
Значение по умолчанию серверной копии
Вы можете также получить странные проблемы с большими пакетами, если Вы
используете большие значения Если проблемы соединения происходят, такие как коммуникационные ошибки или
прерванные соединения, используйте эти источники информации,
чтобы диагностировать проблемы: Журнал ошибок. См. раздел 6.4.2
. Если Вы запускаете сервер с системной переменной
Клиент пытается получить доступ к базе данных, но не имеет никаких
привилегий для этого. Если эти проблемы происходят, это может указывать, что кто-то пытается
ворваться в Ваш сервер! Если общий журнал запроса включен, сообщения для этих
типов проблем зарегистрированы в нем. Если клиент успешно соединяется, но позже разъединяется ненадлежащим
образом, сервер постепенно увеличивает
Программа клиента не вызвала
Другие причины проблем с прерванными соединениями или клиентами: Значение переменной
См. также раздел B.5.2.8. Если происходит ошибка table-full, может случиться так, что диск полон или
что таблица достигла своего максимального размера. Эффективный максимальный
табличный размер для баз данных MySQL обычно определяется ограничениями
операционной системы на размеры файла, а не внутренними пределами MySQL. См.
раздел C.10.3. Если Вы получаете ошибку следующего типа для некоторых запросов, это
означает, что MySQL не может создать временный файл для набора результатов
во временном каталоге:
Можно запустить mysqld
с опцией
Другая причина этой ошибки может быть проблемой разрешений.
Удостоверьтесь, что сервер MySQL может писать в каталог
Проверьте также код ошибки, который Вы получаете с
perror.
Одна из причина, по которой сервер не может записать таблицу, состоит в том,
что файловая система полна:
Если Вы получаете ошибку Это может произойти, например, если Вы используете
Если Вы получаете следующую ошибку, это означает, что, когда
mysqld
был запущен или когда он перезагружал таблицы привилегий, нашел учетную
запись в таблице В результате учетная запись просто проигнорирована системой. Чтобы решить
эту проблему, назначьте новый, допустимый, пароль на учетную запись. Если Вы получаете любую из следующих ошибок, это обычно означает, что
никакой таблицы не существует в базе данных по умолчанию:
Поскольку MySQL использует каталоги и файлы, чтобы сохранить базы
данных и таблицы, имена базы данных и имена таблиц являются чувствительными к
регистру, если они расположены в файловой системе, у которой есть
чувствительные к регистру имена файла. Вы можете проверить, какие таблицы находятся в базе данных по умолчанию
через Вы могли бы видеть такую ошибку, если у Вас есть
проблемы с набором символов:
Набор символов многобайтовый, и у Вас нет никакой поддержки набора
символов в клиенте. В этом случае Вы должны повторно собрать клиента,
выполняя CMake с опцией
Все стандартные исполняемые модули MySQL собраны с поддержкой
всех многобайтовых наборов символов. В этом случае Вы должны использовать один из следующих методов,
чтобы решить проблему: Повторно соберите клиент с поддержкой набора символов. См.
раздел 2.8.4. Если Вы получили Чтобы сказать mysqld
сохранять открытыми меньше файлов за один раз, Вы можете сделать
табличный кэш меньше, уменьшая значение системной переменной
Чтобы изменить число дескрипторов файла, доступных
mysqld,
Вы можете использовать опцию
Если Вы выполняете оболочку tcsh,
ulimit не работает! tcsh
также сообщает неправильные значения, когда Вы просите текущие
пределы. В этом случае Вы должны запустить
mysqld_safe
, используя sh. Если Вы запустили mysqld
с
Когда сервер обнаруживает табличное повреждение См. также разделы 6.1.4 и
26.5.1.7. Если у Вас есть проблемы с правами доступа, переменная окружения
Чтобы изменить значение по умолчанию По умолчанию, MySQL создает каталоги базы данных со значением разрешения
на доступ Если Вы никогда не назначали Если Вы знаете Если Вы назначали В Windows используйте следующую процедуру, чтобы сбросить пароль для
пользователя MySQL Войдите в систему как Администратор. Если Ваш сервер не работает как служба, Вы, возможно, должны использовать
Диспетчер задач, чтобы вынудить его остановиться. Сервер выполняет содержание файла, названного в опции
the Чтобы вывести ответ сервер в консоль, а не в файл системного журнала,
добавьте опцию Если Вы устанавливали MySQL, используя мастер установки MySQL, Вы,
возможно, должны определить опцию
Вы должны теперь быть в состоянии соединиться с сервером MySQL как
В Unix используйте следующую процедуру, чтобы сбросить пароль для
пользователя MySQL Инструкции предполагают, что Вы запустите сервер MySQL с учетной записи
Unix, которую Вы обычно используете для того, чтобы выполнить его. Например,
если Вы выполняете сервер, используя учетку Войдите в систему как пользователь Unix, от имени
которого сервер MySQL выполняется (например, Остановите сервер MySQL, посылая нормальный Предыдущие разделы обеспечивают инструкции определенно для Windows и
Unix-систем. Альтернативно, на любой платформе, Вы можете сбросить пароль,
используя mysql
(но этот подход менее безопасен): Остановите сервер MySQL в случае необходимости, затем
перезапустите его с опцией
Теперь остановите сервер и запустите его нормально (без опций
Каждая версия MySQL проверена на многих платформах прежде, чем она будет
выпущена. Это не означает, что нет никаких ошибок в MySQL, но если есть
ошибки, их должно быть очень мало. Сначала Вы должны попытаться узнать, является ли проблема падений
mysqld
проблемой на сервере или на клиенте. Вы можете проверить, сколько времени Ваш
сервер mysqld
работал, выполняя запрос
mysqladmin version. Если
mysqld
перезапустился, Вы можете найти причину в журнале ошибок сервера. См.
раздел 6.4.2. На некоторых системах Вы можете найти в журнале ошибок след стека при
падении mysqld
, который Вы можете обработать программой Много катастрофических отказов сервера вызваны поврежденными файлами с
данными или индексными файлами. MySQL обновляет файлы на диске с помощью
системного вызова Предыдущие средства обеспечивают то, что обычно Вы не должны получить
поврежденные таблицы, если одно из следующего не происходит: Сервер MySQL или хост сервера были
повреждены в середине обновления. Поскольку очень трудно знать, почему что-то отказывает, сначала
попытайтесь проверить вещи, которые работают на катастрофический отказ для
Вас. Попробуйте следующие вещи: Остановите сервер
mysqld с помощью
mysqladmin shutdown, запустите
myisamchk --silent --force
*/*.MYI из каталога данных, чтобы проверить все таблицы
Запустите
mysqld из gdb
(или другого отладчика). См.
раздел 26.5. Попытайтесь моделировать свое приложение скриптом на Perl, чтобы
вынудить MySQL отказать или плохо себя вести. Текущий код динамических строк использовался в течение нескольких лет с
очень немногими проблемами, но строки динамической длины являются по своей
природе более склонными к ошибкам, таким образом, может быть хорошей идеей
попробовать эту стратегию, чтобы увидеть, помогает ли это. Этот раздел описывает, как MySQL отвечает на ошибки переполнения диска
(такие, как no space left on device) и ошибки
исчерпания квоты (такие, как write failed или
user block limit reached). Этот раздел важен для записи в таблицы Когда происходит переполнение диска, MySQL делает следующее: Он проверяет раз в минуту, чтобы увидеть, есть ли достаточно
пространства, чтобы записать текущую строку. Если есть достаточно
пространства, работа продолжается, как будто ничего не произошло. Чтобы облегчить проблему, предпримите следующие меры: Чтобы продолжить работу, Вы должны только освободить достаточно
дискового пространства, чтобы вставить все записи. Исключения к предыдущему поведению: когда Вы используете
В Unix MySQL использует значение переменной окружения В Windows MySQL проверяет в порядке значения переменные окружения
Если файловая система, содержащая Ваш временный каталог, является слишком
маленькой, Вы можете использовать
mysqld с опцией
Опция Чтобы распределить нагрузку эффективно, эти пути должны быть расположены
на различных физических дисках, а не на разных разделах
того же самого диска. Если сервер MySQL действует как ведомое устройство репликации, Вы должны
убедиться, что установили
MySQL обеспечивает то, что временные файлы удалены, если
mysqld
прерван. На платформах, которые поддерживают это (такие, как Unix), это
сделано, отвязывая файл после открытия. Недостаток в том, что имя не
появляется в списках каталога, и Вы не видите большой временный файл, который
заполняет файловую систему, в которой расположен временный каталог. В таких
случаях lsof +L1 может быть полезным в
идентификации больших файлов, связанных с
mysqld. Сортируя ( Для некоторых В большинстве случаев Временные таблицы Если работа Если работа Опция В окружающей среде репликации стоит копировать только настройку
Местоположение по умолчанию для файла сокета Unix, который использует
сервера для коммуникации с местными клиентами
На некоторых версиях Unix любой может удалить файлы в каталоге
На большинстве версий Unix Вы можете защитить Ваш каталог
Другой подход должен изменить место, где сервер создает файл. Если Вы
делаете это, Вы должны также позволить программам клиента узнать новое
местоположение файла. Вы можете определить местоположение
файла несколькими способами: Определите путь в глобальном или местном файле опции. Например,
вставьте следующие строки в Вы можете проверить, работает ли новое местоположение, пытаясь соединиться
с сервером этой командой:
Если у Вас есть проблема с Вы можете установить часовой пояс для сервера с помощью опции
Допустимые значения для
Для небинарных строк ( Сравнение между небинарной и двоичной строками обработано как
сравнение двоичных строк. Простые операции сравнения ( Набор символов и сопоставление по умолчанию Чтобы заставить чувствительное к регистру сравнение недвоичных строк быть
нечувствительным к регистру, надо использовать Формат значений Когда Вы сравниваете Когда Вы сравниваете два столбца. Для этих исключений сравнение сделано, преобразовывая объекты в строки и
выполняя строковое сравнение. Для безопасности предположите, что строки сравнены как строки и используют
соответствующие строковые функции, если Вы хотите сравнить временное
значение со строкой. Специальная нулевая дата Поскольку MySQL выполняет только описанные преобразования, следующие
запросы работают (считается, что Если Вы включаете режим SQL
MySQL разрешает Вам хранить даты, где день или месяц и день ноль. Это
удобно, если Вы хотите сохранить дату рождения в столбец
MySQL разрешает Вам хранить значение ноля
( Сделать, чтобы MySQL проверил все даты и принял только легальные даты
(если не переопределено Понятие значения Для помощи с обработкой В SQL значение Вы можете добавить индекс на столбце, который может иметь значения
При чтении данных с помощью
Используя Используя Агрегатные функции ( Для некоторых типов данных, дескрипторов MySQL, значения Псевдоним может использоваться в запросе, чтобы дать столбцу другое имя.
Вы можете использовать псевдоним в В списке выбора запроса заключенный в кавычки псевдоним столбца может быть
определен, используя идентификатор или строковые символы заключения в кавычки:
Если Вы получаете следующее сообщение, пытаясь выполнить
Если Вы сознательно не смешивали транзакционные и нетранзакционные таблицы
в пределах транзакции, наиболее вероятная причина для этого сообщения состоит
в том, что таблица, которая, как Вы думали, была транзакционной, таковой на
деле не оказалась. Это может произойти, если Вы пытаетесь составить таблицу,
используя транзакционный механизм хранения, который не поддержан Вашим
сервером mysqld
(или это было отключено с опцией запуска). Если
mysqld
не поддерживает механизм хранения, он вместо этого составляет таблицу как
Вы можете проверить механизм хранения таблицы при использовании любого
из этих запросов:
Чтобы проверить, какие механизмы хранения Ваш
mysqld
поддерживает, используйте этот запрос:
Если полная длина запроса Если у Вас есть сложный запрос, который использует много таблиц, но не
возвращает строк, Вы должны использовать следующую процедуру, чтобы узнать,
что не так: Проверьте запрос с Проверьте, что испытательный файл демонстрирует проблему,
выполняя эти команды:
Числа с плавающей запятой иногда вызывают беспорядок, потому что они
приблизительны и не сохраненные как точные значения. Значение с плавающей
запятой как записано в запросе SQL возможно, не то же самое значение,
которое представлено внутренне. Попытки обработать значения с плавающей
запятой как точные в сравнениях могут привести к проблемам. Они также
подвергаются зависимостям от платформы. Типы данных
Следующее использование в качестве примера
Если столбцы Правильный способ сделать сравнение числа с плавающей запятой состоит в
том, чтобы сначала выбрать приемлемую терпимость к различиям между числами и
затем сделать сравнение со значением терпимости. Например, если мы
соглашаемся, что числа с плавающей запятой должны быть расценены как равные,
если они равны в пределах точности одной десятитысячной (0.0001), сравнение
должно быть написано, чтобы найти различия большие, чем значение терпимости:
Значение предыдущих проблем: если Вы пытаетесь создать ведомое устройство
репликации, выводя табличное содержание с
mysqldump
на ведущем устройстве и перезагружая файл дампа в ведомое устройство,
таблицы, содержащие столбцы с плавающей запятой, могут отличаться
между двумя хостами. MySQL использует оптимизатор на основе издержек, чтобы определить лучший
способ решить запрос. Во многих случаях, MySQL может вычислить самый лучший
план запроса, но иногда MySQL не имеет достаточной информации о данных и
должен сделать предположения о данных. Для случаев, когда MySQL не делает "правильной" вещи, есть
инструменты, которые могут помочь MySQL: Используйте оператор Если Вы получаете дублирования ключа, используя
Если Вы используете Следующий список указывает ограничения на использование таблиц
Таблица Этот раздел перечисляет известные проблемы в недавних версиях MySQL. Для информации о специфических вопросах платформы, см. разделы
2.1 и
26.5. Следующие проблемы известны: Оптимизация подзапроса для Например: Запросы Если и только если предыдущие запросы не имеют предложения
Например, для Запрос оптимизирован по-другому на ведущем и ведомом
устройствах только если: Таблица сохранена, используя различные механизмы хранения на
ведущем и ведомом устройстве. Возможно использовать различные механизмы
хранения в этой ситуации. Например, Вы можете использовать
Эта проблема может также затронуть восстановление базы данных, используя
mysqlbinlog|mysql. Самый легкий способ избежать этой проблемы состоит в том, чтобы добавить
Пример этого:
Отметьте, что это происходит только для запросов, которые не имеют
столбцов
Приложение B. Ошибки, коды
ошибок и общие проблемы
B.1. Источники информации об ошибке
SHOW WARNINGS и
SHOW ERRORS. Системная
переменная warning_count
указывает на число ошибок, предупреждений и примечаний.
Системная переменная
error_count указывает на число ошибок.
Ее значение исключает предупреждения и примечания.GET DIAGNOSTICS
может использоваться, чтобы осмотреть диагностическую информацию в области
диагностики. См. раздел 14.6.7.3.SHOW SLAVE STATUS
выводит информацию об ошибках репликации, происходящих
на ведомой стороне.SHOW ENGINE INNODB STATUS
включает информацию о новой ошибке внешнего ключа, если запрос
CREATE TABLE для таблицы
InnoDB терпит неудачу.InnoDB, см.
раздел 16.20.4.B.2. Типы значений ошибки
'42S02'). Значения взяты из ANSI SQL и ODBC и
более-менее стандартизированы.mysql_errno().mysql_sqlstate().mysql_error().mysql_stmt_errno(),
mysql_stmt_sqlstate()
и mysql_stmt_error()
. Все функции ошибок описаны в разделе 25.8
.mysql_warning_count()
. См. раздел 25.8.7.77.'00' указывает на успех.'01' указывает на предупреждение.'02' указывает на "не найдено found".
Это релевантно в пределах контекста курсоров и используется, чтобы управлять
тем, что происходит, когда курсор достигает конца набора данных. Это условие
также происходит для запроса SELECT ... INTO , который не получает строк.var_list
'02' указывает на исключение.B.3. Коды ошибок сервера
shell> SELECT * FROM no_such_table;
ERROR 1146 (42S02): Table 'test.no_such_table' doesn't exist
Выведенное на экран сообщение содержит три типа информации:
1146). Это число является
MySQL-определенным и не является переносимым к другим системам баз данных.
'42S02'). Значения взяты
из ANSI SQL и ODBC и более-менее стандартизированы. Не у всех кодов ошибки
MySQL есть соответствующие значения SQLSTATE. В этих случаях используется
'HY000' (общая ошибка).share/errmsg-utf8.txt. %d и %s
представляют числа и строки, соответственно, которые заменяются значениями
в сообщениии, когда оно выведено на экран.share/errmsg-utf8.txt,
используются, чтобы произвести определения в исходных файлах
include/mysqld_error.h и include/mysqld_ername.h.
share/errmsg-utf8.txt
используются, чтобы произвести определения в исходном файле
include/sql_state.h MySQL.1002 SQLSTATE: HY000
(ER_NO)1003 SQLSTATE: HY000
(ER_YES)
EXPLAIN
производит сообщения примечаний.
ER_YES используется в
столбце Code для этих сообщений в последующем выводе
SHOW WARNINGS.1004 SQLSTATE: HY000
(ER_CANT_CREATE_FILE
)
1005 SQLSTATE: HY000
(ER_CANT_CREATE_TABLE
)
InnoDB выдает эту ошибку, когда таблица не может быть
составлена. Если сообщение об ошибке относится к ошибке 150, создание таблицы
провалилось из-за того, что ограничение внешнего ключа не было правильно
сформировано. Если сообщение об ошибке относится к ошибке 1, создание таблицы
провалилось потому, что таблица включает имя столбца, которое соответствует
названию внутренней таблицы InnoDB.1006 SQLSTATE: HY000
(ER_CANT_CREATE_DB
)
1007 SQLSTATE: HY000
(ER_DB_CREATE_EXISTS)
IF NOT
EXISTS в CREATE DATABASE
для обхода ошибки.1008 SQLSTATE: HY000
(ER_DB_DROP_EXISTS
)
1010 SQLSTATE: HY000
(ER_DB_DROP_RMDIR
)
1012 SQLSTATE: HY000
(
ER_CANT_FIND_SYSTEM_REC)
InnoDB для попыток получить доступ к
InnoDB-таблицам INFORMATION_SCHEMA,
когда InnoDB недоступно.1013 SQLSTATE: HY000
(ER_CANT_GET_STAT
)
1015 SQLSTATE: HY000
(ER_CANT_LOCK)
1016 SQLSTATE: HY000
(ER_CANT_OPEN_FILE
)
InnoDB возвращает эту ошибку, когда
файлы данных таблицы
InnoDB не могут быть найдены.1017 SQLSTATE: HY000
(ER_FILE_NOT_FOUND
)
1018 SQLSTATE: HY000
(ER_CANT_READ_DIR
)
1020 SQLSTATE: HY000
(ER_CHECKREAD)
1022 SQLSTATE: 23000
(ER_DUP_KEY)
1024 SQLSTATE: HY000
(ER_ERROR_ON_READ
)
1025 SQLSTATE: HY000
(ER_ERROR_ON_RENAME
)
1026 SQLSTATE: HY000
(ER_ERROR_ON_WRITE
)
1027 SQLSTATE: HY000
(ER_FILE_USED)
1028 SQLSTATE: HY000
(ER_FILSORT_ABORT
)
1030 SQLSTATE: HY000
(ER_GET_ERRNO)
%d, чтобы видеть, что означает ошибка в
Вашей OS. Например, 28 указывает, что Вы исчерпали дисковое пространство.
1031 SQLSTATE: HY000
(ER_ILLEGAL_HA)
1032 SQLSTATE: HY000
(ER_KEY_NOT_FOUND
)
1033 SQLSTATE: HY000
(ER_NOT_FORM_FILE
)
1034 SQLSTATE: HY000
(ER_NOT_KEYFILE)
1035 SQLSTATE: HY000
(ER_OLD_KEYFILE)
1036 SQLSTATE: HY000
(ER_OPEN_AS_READONLY
)
1037 SQLSTATE: HY001
(ER_OUTOFMEMORY)
1038 SQLSTATE: HY001
(ER_OUT_OF_SORTMEMORY
)
1040 SQLSTATE: 08004
(ER_CON_COUNT_ERROR
)
1041 SQLSTATE: HY000
(ER_OUT_OF_RESOURCES
)
1042 SQLSTATE: 08S01
(ER_BAD_HOST_ERROR
)
1043 SQLSTATE: 08S01
(ER_HANDSHAKE_ERROR
)
1044 SQLSTATE: 42000
(
ER_DBACCESS_DENIED_ERROR)
1045 SQLSTATE: 28000
(
ER_ACCESS_DENIED_ERROR)
1046 SQLSTATE: 3D000
(ER_NO_DB_ERROR)
1047 SQLSTATE: 08S01
(ER_UNKNOWN_COM_ERROR
)
1048 SQLSTATE: 23000
(ER_BAD_NULL_ERROR
)
1049 SQLSTATE: 42000
(ER_BAD_DB_ERROR)
1050 SQLSTATE: 42S01
(ER_TABLE_EXISTS_ERROR
)
1051 SQLSTATE: 42S02
(ER_BAD_TABLE_ERROR
)
1052 SQLSTATE: 23000
(ER_NON_UNIQ_ERROR
)
mysql> SELECT i FROM t INNER JOIN t AS t2;
ERROR 1052 (23000): Column 'i' in field list is ambiguous
mysql> SELECT * FROM t LEFT JOIN t AS t2 ON i = i;
ERROR 1052 (23000): Column 'i' in on clause is ambiguous
Решения:
mysql> SELECT t2.i FROM t INNER JOIN t AS t2;
mysql> SELECT * FROM t LEFT JOIN t AS t2 USING (i);
1053 SQLSTATE: 08S01
(ER_SERVER_SHUTDOWN
)1054 SQLSTATE: 42S22
(ER_BAD_FIELD_ERROR
)
1055 SQLSTATE: 42000
(
ER_WRONG_FIELD_WITH_GROUP)
1056 SQLSTATE: 42000
(ER_WRONG_GROUP_FIELD
)
1057 SQLSTATE: 42000
(ER_WRONG_SUM_SELECT
)
1058 SQLSTATE: 21S01
(ER_WRONG_VALUE_COUNT
)
1059 SQLSTATE: 42000
(ER_TOO_LONG_IDENT
)
1060 SQLSTATE: 42S21
(ER_DUP_FIELDNAME
)
1061 SQLSTATE: 42000
(ER_DUP_KEYNAME
)
1062 SQLSTATE: 23000
(ER_DUP_ENTRY)
ER_DUP_ENTRY_WITH_KEY_NAME.1063 SQLSTATE: 42000
(ER_WRONG_FIELD_SPEC
)
1064 SQLSTATE: 42000
(ER_PARSE_ERROR)
1065 SQLSTATE: 42000
(ER_EMPTY_QUERY)
1066 SQLSTATE: 42000
(ER_NONUNIQ_TABLE
)
1067 SQLSTATE: 42000
(ER_INVALID_DEFAULT
)
1068 SQLSTATE: 42000
(ER_MULTIPLE_PRI_KEY
)
1069 SQLSTATE: 42000
(ER_TOO_MANY_KEYS
)
1070 SQLSTATE: 42000
(ER_TOO_MANY_KEY_PARTS
)
1071 SQLSTATE: 42000
(ER_TOO_LONG_KEY
)
1072 SQLSTATE: 42000
(
ER_KEY_COLUMN_DOES_NOT_EXITS)
1073 SQLSTATE: 42000
(ER_BLOB_USED_AS_KEY
)
1074 SQLSTATE: 42000
(
ER_TOO_BIG_FIELDLENGTH)
1075 SQLSTATE: 42000
(ER_WRONG_AUTO_KEY
)
1076 SQLSTATE: HY000
(ER_READY)
1077 SQLSTATE: HY000
(ER_NORMAL_SHUTDOWN
)
1079 SQLSTATE: HY000
(ER_SHUTDOWN_COMPLETE
)
1080 SQLSTATE: 08S01
(ER_FORCING_CLOSE
)
1081 SQLSTATE: 08S01
(ER_IPSOCK_ERROR
)
1082 SQLSTATE: 42S12
(ER_NO_SUCH_INDEX
)
1083 SQLSTATE: 42000
(
ER_WRONG_FIELD_TERMINATORS)
1084 SQLSTATE: 42000
(ER_BLOBS_AND_NO_TERMINATED)
1085 SQLSTATE: HY000
(ER_TEXTFILE_NOT_READABLE)
1086 SQLSTATE: HY000
(ER_FILE_EXISTS_ERROR)
1087 SQLSTATE: HY000
(ER_LOAD_INFO)
1088 SQLSTATE: HY000
(ER_ALTER_INFO)
1089 SQLSTATE: HY000
(ER_WRONG_SUB_KEY)
1090 SQLSTATE: 42000
(ER_CANT_REMOVE_ALL_FIELDS)
1091 SQLSTATE: 42000
(ER_CANT_DROP_FIELD_OR_KEY)
1092 SQLSTATE: HY000
(ER_INSERT_INFO)
1093 SQLSTATE: HY000
(ER_UPDATE_TABLE_USED
)
derived_merge в системной переменной
optimizer_switch
, чтобы вынудить подзапрос использовать временную таблицу, которая точно
будет не той таблицей, которая меняется. См.
раздел 9.2.1.18.3.1094 SQLSTATE: HY000
(ER_NO_SUCH_THREAD
)
1095 SQLSTATE: HY000
(ER_KILL_DENIED_ERROR
)
1096 SQLSTATE: HY000
(ER_NO_TABLES_USED
)
1097 SQLSTATE: HY000
(ER_TOO_BIG_SET
)
1098 SQLSTATE: HY000
(ER_NO_UNIQUE_LOGFILE
)
1099 SQLSTATE: HY000
(
ER_TABLE_NOT_LOCKED_FOR_WRITE)
1100 SQLSTATE: HY000
(ER_TABLE_NOT_LOCKED
)
1101 SQLSTATE: 42000
(
ER_BLOB_CANT_HAVE_DEFAULT)
1102 SQLSTATE: 42000
(ER_WRONG_DB_NAME
)
1103 SQLSTATE: 42000
(ER_WRONG_TABLE_NAME
)
1104 SQLSTATE: 42000
(ER_TOO_BIG_SELECT
)
1105 SQLSTATE: HY000
(ER_UNKNOWN_ERROR
)
1106 SQLSTATE: 42000
(ER_UNKNOWN_PROCEDURE
)
1107 SQLSTATE: 42000
(
ER_WRONG_PARAMCOUNT_TO_PROCEDURE)
1108 SQLSTATE: HY000
(
ER_WRONG_PARAMETERS_TO_PROCEDURE)
1109 SQLSTATE: 42S02
(ER_UNKNOWN_TABLE
)
1110 SQLSTATE: 42000
(
ER_FIELD_SPECIFIED_TWICE)
1111 SQLSTATE: HY000
(
ER_INVALID_GROUP_FUNC_USE)
1112 SQLSTATE: 42000
(
ER_UNSUPPORTED_EXTENSION)
1113 SQLSTATE: 42000
(
ER_TABLE_MUST_HAVE_COLUMNS)
1114 SQLSTATE: HY000
(ER_RECORD_FILE_FULL
)
InnoDB возвращает эту ошибку, когда системное табличное
пространство исчерпывает свободное пространство. Реконфигурируйте системное
табличное пространство, чтобы добавить новый файл с данными.1115 SQLSTATE: 42000
(
ER_UNKNOWN_CHARACTER_SET)
1116 SQLSTATE: HY000
(ER_TOO_MANY_TABLES
)
1117 SQLSTATE: HY000
(ER_TOO_MANY_FIELDS
)
1118 SQLSTATE: 42000
(ER_TOO_BIG_ROWSIZE
)
1119 SQLSTATE: HY000
(ER_STACK_OVERRUN
)
1120 SQLSTATE: 42000
(ER_WRONG_OUTER_JOIN
)
1121 SQLSTATE: 42000
(
ER_NULL_COLUMN_IN_INDEX)
1122 SQLSTATE: HY000
(ER_CANT_FIND_UDF
)
1123 SQLSTATE: HY000
(
ER_CANT_INITIALIZE_UDF)
1124 SQLSTATE: HY000
(ER_UDF_NO_PATHS)
1125 SQLSTATE: HY000
(ER_UDF_EXISTS)
1126 SQLSTATE: HY000
(ER_CANT_OPEN_LIBRARY
)
1127 SQLSTATE: HY000
(ER_CANT_FIND_DL_ENTRY
)
1128 SQLSTATE: HY000
(
ER_FUNCTION_NOT_DEFINED)
1129 SQLSTATE: HY000
(ER_HOST_IS_BLOCKED
)
1130 SQLSTATE: HY000
(
ER_HOST_NOT_PRIVILEGED)
1131 SQLSTATE: 42000
(
ER_PASSWORD_ANONYMOUS_USER)
1132 SQLSTATE: 42000
(
ER_PASSWORD_NOT_ALLOWED)
1133 SQLSTATE: 42000
(ER_PASSWORD_NO_MATCH
)
1134 SQLSTATE: HY000
(ER_UPDATE_INFO)
1135 SQLSTATE: HY000
(ER_CANT_CREATE_THREAD
)
1136 SQLSTATE: 21S01
(
ER_WRONG_VALUE_COUNT_ON_ROW)
1137 SQLSTATE: HY000
(ER_CANT_REOPEN_TABLE
)
1138 SQLSTATE: 22004
(
ER_INVALID_USE_OF_NULL)
1139 SQLSTATE: 42000
(ER_REGEXP_ERROR)
1140 SQLSTATE: 42000
(
ER_MIX_OF_GROUP_FUNC_AND_FIELDS)
1141 SQLSTATE: 42000
(ER_NONEXISTING_GRANT
)
1142 SQLSTATE: 42000
(
ER_TABLEACCESS_DENIED_ERROR)
1143 SQLSTATE: 42000
(
ER_COLUMNACCESS_DENIED_ERROR)
1144 SQLSTATE: 42000
(
ER_ILLEGAL_GRANT_FOR_TABLE)
1145 SQLSTATE: 42000
(
ER_GRANT_WRONG_HOST_OR_USER)
1146 SQLSTATE: 42S02
(ER_NO_SUCH_TABLE
)
1147 SQLSTATE: 42000
(
ER_NONEXISTING_TABLE_GRANT)
1148 SQLSTATE: 42000
(
ER_NOT_ALLOWED_COMMAND)
1149 SQLSTATE: 42000
(ER_SYNTAX_ERROR)
1152 SQLSTATE: 08S01
(
ER_ABORTING_CONNECTION)
1153 SQLSTATE: 08S01
(
ER_NET_PACKET_TOO_LARGE)
1154 SQLSTATE: 08S01
(
ER_NET_READ_ERROR_FROM_PIPE)
1155 SQLSTATE: 08S01
(ER_NET_FCNTL_ERROR
)
1156 SQLSTATE: 08S01
(
ER_NET_PACKETS_OUT_OF_ORDER)
1157 SQLSTATE: 08S01
(
ER_NET_UNCOMPRESS_ERROR)
1158 SQLSTATE: 08S01
(ER_NET_READ_ERROR
)
1159 SQLSTATE: 08S01
(
ER_NET_READ_INTERRUPTED)
1160 SQLSTATE: 08S01
(ER_NET_ERROR_ON_WRITE
)
1161 SQLSTATE: 08S01
(
ER_NET_WRITE_INTERRUPTED)
1162 SQLSTATE: 42000
(ER_TOO_LONG_STRING
)
1163 SQLSTATE: 42000
(
ER_TABLE_CANT_HANDLE_BLOB)
1164 SQLSTATE: 42000
(
ER_TABLE_CANT_HANDLE_AUTO_INCREMENT)
1166 SQLSTATE: 42000
(ER_WRONG_COLUMN_NAME
)
1167 SQLSTATE: 42000
(ER_WRONG_KEY_COLUMN
)
1168 SQLSTATE: HY000
(ER_WRONG_MRG_TABLE
)
1169 SQLSTATE: 23000
(ER_DUP_UNIQUE)
1170 SQLSTATE: 42000
(
ER_BLOB_KEY_WITHOUT_LENGTH)
1171 SQLSTATE: 42000
(
ER_PRIMARY_CANT_HAVE_NULL)
1172 SQLSTATE: 42000
(ER_TOO_MANY_ROWS
)
1173 SQLSTATE: 42000
(
ER_REQUIRES_PRIMARY_KEY)
1175 SQLSTATE: HY000
(
ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE)
1176 SQLSTATE: 42000
(ER_KEY_DOES_NOT_EXITS
)
1177 SQLSTATE: 42000
(
ER_CHECK_NO_SUCH_TABLE)
1178 SQLSTATE: 42000
(
ER_CHECK_NOT_IMPLEMENTED)
1179 SQLSTATE: 25000
(
ER_CANT_DO_THIS_DURING_AN_TRANSACTION)
1180 SQLSTATE: HY000
(
ER_ERROR_DURING_COMMIT)
1181 SQLSTATE: HY000
(
ER_ERROR_DURING_ROLLBACK)
1182 SQLSTATE: HY000
(
ER_ERROR_DURING_FLUSH_LOGS)
1184 SQLSTATE: 08S01
(
ER_NEW_ABORTING_CONNECTION)
1188 SQLSTATE: HY000
(ER_MASTER)
1189 SQLSTATE: 08S01
(ER_MASTER_NET_READ
)
1190 SQLSTATE: 08S01
(ER_MASTER_NET_WRITE
)
1191 SQLSTATE: HY000
(
ER_FT_MATCHING_KEY_NOT_FOUND)
1192 SQLSTATE: HY000
(
ER_LOCK_OR_ACTIVE_TRANSACTION)
1193 SQLSTATE: HY000
(
ER_UNKNOWN_SYSTEM_VARIABLE)
1194 SQLSTATE: HY000
(ER_CRASHED_ON_USAGE)
1195 SQLSTATE: HY000
(ER_CRASHED_ON_REPAIR)
1196 SQLSTATE: HY000
(ER_WARNING_NOT_COMPLETE_ROLLBACK)
1197 SQLSTATE: HY000
(ER_TRANS_CACHE_FULL)
1199 SQLSTATE: HY000
(ER_SLAVE_NOT_RUNNING)
1200 SQLSTATE: HY000
(ER_BAD_SLAVE)
1201 SQLSTATE: HY000
(ER_MASTER_INFO)
1202 SQLSTATE: HY000
(ER_SLAVE_THREAD)
1203 SQLSTATE: 42000
(ER_TOO_MANY_USER_CONNECTIONS)
1204 SQLSTATE: HY000
(ER_SET_CONSTANTS_ONLY)
1205 SQLSTATE: HY000
(ER_LOCK_WAIT_TIMEOUT
)
InnoDB выдает эту ошибку, когда блокировка ждет тайм-аут.
Запрос, который ждал слишком долго,
откатывается (не вся
транзакция).
Вы можете увеличить значение параметра конфигурации
innodb_lock_wait_timeout, если запросы SQL должны ждать дольше
других транзакций, чтобы завершиться, или уменьшить это, если слишком много
продолжительных транзакций вызывают проблемы
блокировки и сокращают
параллелизм
на занятой системе.1206 SQLSTATE: HY000
(ER_LOCK_TABLE_FULL
)
InnoDB выдает эту ошибку, когда общее количество блокировок
превышает объем памяти, посвященный управлению блокировками. Чтобы избежать
этой ошибки, увеличьте значение
innodb_buffer_pool_size. В пределах отдельного приложения обходное
решение может быть в том, чтобы разделить большую работу на мелкие кусочки.
Например, если ошибка происходит для большого
INSERT, выполните несколько меньших операций
INSERT.1207 SQLSTATE: 25000
(
ER_READ_ONLY_TRANSACTION)
1210 SQLSTATE: HY000
(ER_WRONG_ARGUMENTS
)
1211 SQLSTATE: 42000
(
ER_NO_PERMISSION_TO_CREATE_USER)
1213 SQLSTATE: 40001
(ER_LOCK_DEADLOCK
)
InnoDB выдает эту ошибку, когда
транзакция сталкивается с
тупиком и автоматически
откатывается так, чтобы Ваше
приложение могло принять меры по ликвидации последствий. Чтобы оправиться от
этой ошибки, выполните все операции в этой транзакции снова. Тупик
происходит, когда запросы о блокировках прибывают в непоследовательном
порядке между транзакциями. Отмененная транзакция выпустила все свои
блокировки, и другая может теперь получить все блокировки, которые просила.
Таким образом, когда Вы запускаете повторно транзакцию, которая была
отменена, ей, возможно, придется ждать других транзакций, чтобы завершиться,
но как правило тупик не возвращается. Если Вы сталкиваетесь с частыми
тупиками, сделайте последовательность из блокировки операций
(LOCK TABLES, SELECT ... FOR UPDATE и т. п.)
последовательно между различными транзакциями или приложениями, которые
испытывают проблему. См.
раздел 16.5.5.1214 SQLSTATE: HY000
(
ER_TABLE_CANT_HANDLE_FT)
1215 SQLSTATE: HY000
(ER_CANNOT_ADD_FOREIGN
)
1216 SQLSTATE: 23000
(ER_NO_REFERENCED_ROW
)
InnoDB выдает эту ошибку, когда Вы пытаетесь добавить строку,
но нет никакой родительской строки, и
ограничения внешнего
ключа терпят неудачу. Добавьте родительскую строку сначала.1217 SQLSTATE: 23000
(
ER_ROW_IS_REFERENCED)
InnoDB выдает эту ошибку, когда Вы пытаетесь удалить
родительскую строку, у которой есть дочерние элементы, и
ограничения внешнего
ключа терпят неудачу. Удалите дочерние элементы сначала.1218 SQLSTATE: 08S01
(ER_CONNECT_TO_MASTER
)
1220 SQLSTATE: HY000
(
ER_ERROR_WHEN_EXECUTING_COMMAND)
1221 SQLSTATE: HY000
(ER_WRONG_USAGE
)
1222 SQLSTATE: 21000
(
ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT)
1223 SQLSTATE: HY000
(
ER_CANT_UPDATE_WITH_READLOCK)
1224 SQLSTATE: HY000
(ER_MIXING_NOT_ALLOWED)
1225 SQLSTATE: HY000
(ER_DUP_ARGUMENT)
1226 SQLSTATE: 42000
(ER_USER_LIMIT_REACHED)
1227 SQLSTATE: 42000
(ER_SPECIFIC_ACCESS_DENIED_ERROR)
1228 SQLSTATE: HY000
(ER_LOCAL_VARIABLE)
1229 SQLSTATE: HY000
(ER_GLOBAL_VARIABLE)
1230 SQLSTATE: 42000
(ER_NO_DEFAULT)
1231 SQLSTATE: 42000
(ER_WRONG_VALUE_FOR_VAR)
1232 SQLSTATE: 42000
(ER_WRONG_TYPE_FOR_VAR)
1233 SQLSTATE: HY000
(ER_VAR_CANT_BE_READ)
1234 SQLSTATE: 42000
(ER_CANT_USE_OPTION_HERE)
1235 SQLSTATE: 42000
(ER_NOT_SUPPORTED_YET)
1236 SQLSTATE: HY000
(ER_MASTER_FATAL_ERROR_READING_BINLOG)
1237 SQLSTATE: HY000
(ER_SLAVE_IGNORED_TABLE)
1238 SQLSTATE: HY000
(ER_INCORRECT_GLOBAL_LOCAL_VAR)
1239 SQLSTATE: 42000
(ER_WRONG_FK_DEF)
1240 SQLSTATE: HY000
(ER_KEY_REF_DO_NOT_MATCH_TABLE_REF)
1241 SQLSTATE: 21000
(ER_OPERAND_COLUMNS)
1242 SQLSTATE: 21000
(ER_SUBQUERY_NO_1_ROW)
1243 SQLSTATE: HY000
(ER_UNKNOWN_STMT_HANDLER)
1244 SQLSTATE: HY000
(ER_CORRUPT_HELP_DB)
1246 SQLSTATE: HY000
(ER_AUTO_CONVERT)
1247 SQLSTATE: 42S22
(ER_ILLEGAL_REFERENCE)
1248 SQLSTATE: 42000
(ER_DERIVED_MUST_HAVE_ALIAS)
1249 SQLSTATE: 01000
(ER_SELECT_REDUCED)
1250 SQLSTATE: 42000
(ER_TABLENAME_NOT_ALLOWED_HERE)
1251 SQLSTATE: 08004
(ER_NOT_SUPPORTED_AUTH_MODE)
1252 SQLSTATE: 42000
(ER_SPATIAL_CANT_HAVE_NULL)
1253 SQLSTATE: 42000
(ER_COLLATION_CHARSET_MISMATCH)
1256 SQLSTATE: HY000
(ER_TOO_BIG_FOR_UNCOMPRESS)
1257 SQLSTATE: HY000
(ER_ZLIB_Z_MEM_ERROR)
1258 SQLSTATE: HY000
(ER_ZLIB_Z_BUF_ERROR)
1259 SQLSTATE: HY000
(ER_ZLIB_Z_DATA_ERROR)
1260 SQLSTATE: HY000
(ER_CUT_VALUE_GROUP_CONCAT)
1261 SQLSTATE: 01000
(ER_WARN_TOO_FEW_RECORDS)
1262 SQLSTATE: 01000
(ER_WARN_TOO_MANY_RECORDS)
1263 SQLSTATE: 22004
(ER_WARN_NULL_TO_NOTNULL)
1264 SQLSTATE: 22003
(ER_WARN_DATA_OUT_OF_RANGE)
1265 SQLSTATE: 01000
(WARN_DATA_TRUNCATED)
1266 SQLSTATE: HY000
(ER_WARN_USING_OTHER_HANDLER)
1267 SQLSTATE: HY000
(ER_CANT_AGGREGATE_2COLLATIONS)
1269 SQLSTATE: HY000
(ER_REVOKE_GRANTS)
1270 SQLSTATE: HY000
(ER_CANT_AGGREGATE_3COLLATIONS)
1271 SQLSTATE: HY000
(ER_CANT_AGGREGATE_NCOLLATIONS)
1272 SQLSTATE: HY000
(ER_VARIABLE_IS_NOT_STRUCT)
1273 SQLSTATE: HY000
(ER_UNKNOWN_COLLATION)
1274 SQLSTATE: HY000
(ER_SLAVE_IGNORED_SSL_PARAMS)
1275 SQLSTATE: HY000
(ER_SERVER_IS_IN_SECURE_AUTH_MODE)
1276 SQLSTATE: HY000
(ER_WARN_FIELD_RESOLVED)
1277 SQLSTATE: HY000
(ER_BAD_SLAVE_UNTIL_COND)
1278 SQLSTATE: HY000
(ER_MISSING_SKIP_SLAVE)
1279 SQLSTATE: HY000
(ER_UNTIL_COND_IGNORED)
1280 SQLSTATE: 42000
(ER_WRONG_NAME_FOR_INDEX)
1281 SQLSTATE: 42000
(ER_WRONG_NAME_FOR_CATALOG)
1282 SQLSTATE: HY000
(ER_WARN_QC_RESIZE)
1283 SQLSTATE: HY000
(ER_BAD_FT_COLUMN)
1284 SQLSTATE: HY000
(ER_UNKNOWN_KEY_CACHE)
1285 SQLSTATE: HY000
(ER_WARN_HOSTNAME_WONT_WORK)
1286 SQLSTATE: 42000
(ER_UNKNOWN_STORAGE_ENGINE)
1287 SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYNTAX)
1288 SQLSTATE: HY000
(ER_NON_UPDATABLE_TABLE)
1289 SQLSTATE: HY000
(ER_FEATURE_DISABLED)
1290 SQLSTATE: HY000
(ER_OPTION_PREVENTS_STATEMENT)
1291 SQLSTATE: HY000
(ER_DUPLICATED_VALUE_IN_TYPE)
1292 SQLSTATE: 22007
(ER_TRUNCATED_WRONG_VALUE)
1294 SQLSTATE: HY000
(ER_INVALID_ON_UPDATE)
1295 SQLSTATE: HY000
(ER_UNSUPPORTED_PS)
1296 SQLSTATE: HY000
(ER_GET_ERRMSG)
1297 SQLSTATE: HY000
(ER_GET_TEMPORARY_ERRMSG)
1298 SQLSTATE: HY000
(ER_UNKNOWN_TIME_ZONE)
1299 SQLSTATE: HY000
(ER_WARN_INVALID_TIMESTAMP)
1300 SQLSTATE: HY000
(ER_INVALID_CHARACTER_STRING)
1301 SQLSTATE: HY000
(ER_WARN_ALLOWED_PACKET_OVERFLOWED)
1302 SQLSTATE: HY000
(ER_CONFLICTING_DECLARATIONS)
1303 SQLSTATE: 2F003
(ER_SP_NO_RECURSIVE_CREATE)
1304 SQLSTATE: 42000
(ER_SP_ALREADY_EXISTS)
1305 SQLSTATE: 42000
(ER_SP_DOES_NOT_EXIST)
1306 SQLSTATE: HY000
(ER_SP_DROP_FAILED)
1307 SQLSTATE: HY000
(ER_SP_STORE_FAILED)
1308 SQLSTATE: 42000
(ER_SP_LILABEL_MISMATCH)
1309 SQLSTATE: 42000
(ER_SP_LABEL_REDEFINE)
1310 SQLSTATE: 42000
(ER_SP_LABEL_MISMATCH)
1311 SQLSTATE: 01000
(ER_SP_UNINIT_VAR)
1312 SQLSTATE: 0A000
(ER_SP_BADSELECT)
1313 SQLSTATE: 42000
(ER_SP_BADRETURN)
1314 SQLSTATE: 0A000
(ER_SP_BADSTATEMENT)
1315 SQLSTATE: 42000
(ER_UPDATE_LOG_DEPRECATED_IGNORED)
1316 SQLSTATE: 42000
(ER_UPDATE_LOG_DEPRECATED_TRANSLATED)
1317 SQLSTATE: 70100
(ER_QUERY_INTERRUPTED)
1318 SQLSTATE: 42000
(ER_SP_WRONG_NO_OF_ARGS)
1319 SQLSTATE: 42000
(ER_SP_COND_MISMATCH)
1320 SQLSTATE: 42000
(ER_SP_NORETURN)
1321 SQLSTATE: 2F005
(ER_SP_NORETURNEND)
1322 SQLSTATE: 42000
(ER_SP_BAD_CURSOR_QUERY)
1323 SQLSTATE: 42000
(ER_SP_BAD_CURSOR_SELECT)
1324 SQLSTATE: 42000
(ER_SP_CURSOR_MISMATCH)
1325 SQLSTATE: 24000
(ER_SP_CURSOR_ALREADY_OPEN)
1326 SQLSTATE: 24000
(ER_SP_CURSOR_NOT_OPEN)
1327 SQLSTATE: 42000
(ER_SP_UNDECLARED_VAR)
1328 SQLSTATE: HY000
(ER_SP_WRONG_NO_OF_FETCH_ARGS)
1329 SQLSTATE: 02000
(ER_SP_FETCH_NO_DATA)
1330 SQLSTATE: 42000
(ER_SP_DUP_PARAM)
1331 SQLSTATE: 42000
(ER_SP_DUP_VAR)
1332 SQLSTATE: 42000
(ER_SP_DUP_COND)
1333 SQLSTATE: 42000
(ER_SP_DUP_CURS)
1334 SQLSTATE: HY000
(ER_SP_CANT_ALTER)
1335 SQLSTATE: 0A000
(ER_SP_SUBSELECT_NYI)
1336 SQLSTATE: 0A000
(ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG)
1337 SQLSTATE: 42000
(ER_SP_VARCOND_AFTER_CURSHNDLR)
1338 SQLSTATE: 42000
(ER_SP_CURSOR_AFTER_HANDLER)
1339 SQLSTATE: 20000
(ER_SP_CASE_NOT_FOUND)
1340 SQLSTATE: HY000
(ER_FPARSER_TOO_BIG_FILE)
1341 SQLSTATE: HY000
(ER_FPARSER_BAD_HEADER)
1342 SQLSTATE: HY000
(ER_FPARSER_EOF_IN_COMMENT)
1343 SQLSTATE: HY000
(ER_FPARSER_ERROR_IN_PARAMETER)
1344 SQLSTATE: HY000
(ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER)
1345 SQLSTATE: HY000
(ER_VIEW_NO_EXPLAIN)
1347 SQLSTATE: HY000
(ER_WRONG_OBJECT
)
HANDLER OPEN требует базовой
таблицы, а не ее представления. Это терпит неудачу если предпринято на
таблице INFORMATION_SCHEMA, которая
осуществлена как представление таблицы словаря данных.1348 SQLSTATE: HY000
(ER_NONUPDATEABLE_COLUMN)
1350 SQLSTATE: HY000
(ER_VIEW_SELECT_CLAUSE)
1351 SQLSTATE: HY000
(ER_VIEW_SELECT_VARIABLE)
1352 SQLSTATE: HY000
(ER_VIEW_SELECT_TMPTABLE)
1353 SQLSTATE: HY000
(ER_VIEW_WRONG_LIST)
1354 SQLSTATE: HY000
(ER_WARN_VIEW_MERGE)
1355 SQLSTATE: HY000
(ER_WARN_VIEW_WITHOUT_KEY)
1356 SQLSTATE: HY000
(ER_VIEW_INVALID)
1357 SQLSTATE: HY000
(ER_SP_NO_DROP_SP)
1359 SQLSTATE: HY000
(ER_TRG_ALREADY_EXISTS)
1360 SQLSTATE: HY000
(ER_TRG_DOES_NOT_EXIST)
1361 SQLSTATE: HY000
(ER_TRG_ON_VIEW_OR_TEMP_TABLE)
1362 SQLSTATE: HY000
(ER_TRG_CANT_CHANGE_ROW)
1363 SQLSTATE: HY000
(ER_TRG_NO_SUCH_ROW_IN_TRG)
1364 SQLSTATE: HY000
(ER_NO_DEFAULT_FOR_FIELD)
1365 SQLSTATE: 22012
(ER_DIVISION_BY_ZERO)
1366 SQLSTATE: HY000
(ER_TRUNCATED_WRONG_VALUE_FOR_FIELD)
1367 SQLSTATE: 22007
(ER_ILLEGAL_VALUE_FOR_TYPE)
1368 SQLSTATE: HY000
(ER_VIEW_NONUPD_CHECK)
1369 SQLSTATE: HY000
(ER_VIEW_CHECK_FAILED)
1370 SQLSTATE: 42000
(ER_PROCACCESS_DENIED_ERROR)
1371 SQLSTATE: HY000
(ER_RELAY_LOG_FAIL)
1373 SQLSTATE: HY000
(ER_UNKNOWN_TARGET_BINLOG)
1374 SQLSTATE: HY000
(ER_IO_ERR_LOG_INDEX_READ)
1375 SQLSTATE: HY000
(ER_BINLOG_PURGE_PROHIBITED)
1376 SQLSTATE: HY000
(ER_FSEEK_FAIL)
1377 SQLSTATE: HY000
(ER_BINLOG_PURGE_FATAL_ERR)
1378 SQLSTATE: HY000
(ER_LOG_IN_USE)
1379 SQLSTATE: HY000
(ER_LOG_PURGE_UNKNOWN_ERR)
1380 SQLSTATE: HY000
(ER_RELAY_LOG_INIT)
1381 SQLSTATE: HY000
(ER_NO_BINARY_LOGGING)
1382 SQLSTATE: HY000
(ER_RESERVED_SYNTAX)
1390 SQLSTATE: HY000
(ER_PS_MANY_PARAM)
1391 SQLSTATE: HY000
(ER_KEY_PART_0)
1392 SQLSTATE: HY000
(ER_VIEW_CHECKSUM)
1393 SQLSTATE: HY000
(ER_VIEW_MULTIUPDATE)
1394 SQLSTATE: HY000
(ER_VIEW_NO_INSERT_FIELD_LIST)
1395 SQLSTATE: HY000
(ER_VIEW_DELETE_MERGE_VIEW)
1396 SQLSTATE: HY000
(ER_CANNOT_USER)
1397 SQLSTATE: XAE04
(ER_XAER_NOTA)
1398 SQLSTATE: XAE05
(ER_XAER_INVAL)
1399 SQLSTATE: XAE07
(ER_XAER_RMFAIL)
1400 SQLSTATE: XAE09
(ER_XAER_OUTSIDE)
1401 SQLSTATE: XAE03
(ER_XAER_RMERR)
1402 SQLSTATE: XA100
(ER_XA_RBROLLBACK)
1403 SQLSTATE: 42000
(ER_NONEXISTING_PROC_GRANT)
1404 SQLSTATE: HY000
(ER_PROC_AUTO_GRANT_FAIL)
1405 SQLSTATE: HY000
(ER_PROC_AUTO_REVOKE_FAIL)
1406 SQLSTATE: 22001
(ER_DATA_TOO_LONG)
1407 SQLSTATE: 42000
(ER_SP_BAD_SQLSTATE)
1408 SQLSTATE: HY000
(ER_STARTUP)
1409 SQLSTATE: HY000
(ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR)
1410 SQLSTATE: 42000
(ER_CANT_CREATE_USER_WITH_GRANT)
1411 SQLSTATE: HY000
(ER_WRONG_VALUE_FOR_TYPE)
1412 SQLSTATE: HY000
(ER_TABLE_DEF_CHANGED)
1413 SQLSTATE: 42000
(ER_SP_DUP_HANDLER)
1414 SQLSTATE: 42000
(ER_SP_NOT_VAR_ARG)
1415 SQLSTATE: 0A000
(ER_SP_NO_RETSET)
1416 SQLSTATE: 22003
(ER_CANT_CREATE_GEOMETRY_OBJECT)
1418 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_ROUTINE)
1419 SQLSTATE: HY000
(ER_BINLOG_CREATE_ROUTINE_NEED_SUPER)
1421 SQLSTATE: HY000
(ER_STMT_HAS_NO_OPEN_CURSOR)
1422 SQLSTATE: HY000
(ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG)
1423 SQLSTATE: HY000
(ER_NO_DEFAULT_FOR_VIEW_FIELD)
1424 SQLSTATE: HY000
(ER_SP_NO_RECURSION)
1425 SQLSTATE: 42000
(ER_TOO_BIG_SCALE)
1426 SQLSTATE: 42000
(ER_TOO_BIG_PRECISION)
1427 SQLSTATE: 42000
(ER_M_BIGGER_THAN_D)
1428 SQLSTATE: HY000
(ER_WRONG_LOCK_OF_SYSTEM_TABLE)
1429 SQLSTATE: HY000
(ER_CONNECT_TO_FOREIGN_DATA_SOURCE)
1430 SQLSTATE: HY000
(ER_QUERY_ON_FOREIGN_DATA_SOURCE)
1431 SQLSTATE: HY000
(ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST)
1432 SQLSTATE: HY000
(ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE)
1433 SQLSTATE: HY000
(ER_FOREIGN_DATA_STRING_INVALID)
1435 SQLSTATE: HY000
(ER_TRG_IN_WRONG_SCHEMA)
1436 SQLSTATE: HY000
(ER_STACK_OVERRUN_NEED_MORE)
1437 SQLSTATE: 42000
(ER_TOO_LONG_BODY)
1438 SQLSTATE: HY000
(ER_WARN_CANT_DROP_DEFAULT_KEYCACHE)
1439 SQLSTATE: 42000
(ER_TOO_BIG_DISPLAYWIDTH)
1440 SQLSTATE: XAE08
(ER_XAER_DUPID)
1441 SQLSTATE: 22008
(ER_DATETIME_FUNCTION_OVERFLOW)
1442 SQLSTATE: HY000
(ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG)
1443 SQLSTATE: HY000
(ER_VIEW_PREVENT_UPDATE)
1444 SQLSTATE: HY000
(ER_PS_NO_RECURSION)
1445 SQLSTATE: HY000
(ER_SP_CANT_SET_AUTOCOMMIT)
1447 SQLSTATE: HY000
(ER_VIEW_FRM_NO_USER)
1448 SQLSTATE: HY000
(ER_VIEW_OTHER_USER)
1449 SQLSTATE: HY000
(ER_NO_SUCH_USER)
1450 SQLSTATE: HY000
(ER_FORBID_SCHEMA_CHANGE)
1451 SQLSTATE: 23000
(ER_ROW_IS_REFERENCED_2)
1452 SQLSTATE: 23000
(ER_NO_REFERENCED_ROW_2)
1453 SQLSTATE: 42000
(ER_SP_BAD_VAR_SHADOW)
1454 SQLSTATE: HY000
(ER_TRG_NO_DEFINER)
1455 SQLSTATE: HY000
(ER_OLD_FILE_FORMAT)
1456 SQLSTATE: HY000
(ER_SP_RECURSION_LIMIT)
1458 SQLSTATE: 42000
(ER_SP_WRONG_NAME)
1459 SQLSTATE: HY000
(ER_TABLE_NEEDS_UPGRADE)
1460 SQLSTATE: 42000
(ER_SP_NO_AGGREGATE)
1461 SQLSTATE: 42000
(ER_MAX_PREPARED_STMT_COUNT_REACHED)
1462 SQLSTATE: HY000
(ER_VIEW_RECURSIVE)
1463 SQLSTATE: 42000
(ER_NON_GROUPING_FIELD_USED)
1464 SQLSTATE: HY000
(ER_TABLE_CANT_HANDLE_SPKEYS)
1465 SQLSTATE: HY000
(ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA)
1466 SQLSTATE: HY000
(ER_REMOVED_SPACES)
1467 SQLSTATE: HY000
(ER_AUTOINC_READ_FAILED)
1468 SQLSTATE: HY000
(ER_USERNAME)
1469 SQLSTATE: HY000
(ER_HOSTNAME)
1470 SQLSTATE: HY000
(ER_WRONG_STRING_LENGTH)
1471 SQLSTATE: HY000
(ER_NON_INSERTABLE_TABLE)
1472 SQLSTATE: HY000
(ER_ADMIN_WRONG_MRG_TABLE)
1473 SQLSTATE: HY000
(ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT)
1474 SQLSTATE: HY000
(ER_NAME_BECOMES_EMPTY)
1475 SQLSTATE: HY000
(ER_AMBIGUOUS_FIELD_TERM)
1476 SQLSTATE: HY000
(ER_FOREIGN_SERVER_EXISTS)
1477 SQLSTATE: HY000
(ER_FOREIGN_SERVER_DOESNT_EXIST)
1478 SQLSTATE: HY000
(ER_ILLEGAL_HA_CREATE_OPTION)
1479 SQLSTATE: HY000
(ER_PARTITION_REQUIRES_VALUES_ERROR)
1480 SQLSTATE: HY000
(ER_PARTITION_WRONG_VALUES_ERROR)
1481 SQLSTATE: HY000
(ER_PARTITION_MAXVALUE_ERROR)
1484 SQLSTATE: HY000
(ER_PARTITION_WRONG_NO_PART_ERROR)
1485 SQLSTATE: HY000
(ER_PARTITION_WRONG_NO_SUBPART_ERROR)
1486 SQLSTATE: HY000
(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR)
1488 SQLSTATE: HY000
(ER_FIELD_NOT_FOUND_PART_ERROR)
1490 SQLSTATE: HY000
(ER_INCONSISTENT_PARTITION_INFO_ERROR)
1491 SQLSTATE: HY000
(ER_PARTITION_FUNC_NOT_ALLOWED_ERROR)
1492 SQLSTATE: HY000
(ER_PARTITIONS_MUST_BE_DEFINED_ERROR)
1493 SQLSTATE: HY000
(ER_RANGE_NOT_INCREASING_ERROR)
1494 SQLSTATE: HY000
(ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR)
1495 SQLSTATE: HY000
(ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR)
1496 SQLSTATE: HY000
(ER_PARTITION_ENTRY_ERROR)
1497 SQLSTATE: HY000
(ER_MIX_HANDLER_ERROR)
1498 SQLSTATE: HY000
(ER_PARTITION_NOT_DEFINED_ERROR)
1499 SQLSTATE: HY000
(ER_TOO_MANY_PARTITIONS_ERROR)
1500 SQLSTATE: HY000
(ER_SUBPARTITION_ERROR)
1501 SQLSTATE: HY000
(ER_CANT_CREATE_HANDLER_FILE)
1502 SQLSTATE: HY000
(ER_BLOB_FIELD_IN_PART_FUNC_ERROR)
1503 SQLSTATE: HY000
(ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF)
1504 SQLSTATE: HY000
(ER_NO_PARTS_ERROR)
1505 SQLSTATE: HY000
(ER_PARTITION_MGMT_ON_NONPARTITIONED)
1506 SQLSTATE: HY000
(ER_FOREIGN_KEY_ON_PARTITIONED)
1507 SQLSTATE: HY000
(ER_DROP_PARTITION_NON_EXISTENT)
1508 SQLSTATE: HY000
(ER_DROP_LAST_PARTITION)
1509 SQLSTATE: HY000
(ER_COALESCE_ONLY_ON_HASH_PARTITION)
1510 SQLSTATE: HY000
(ER_REORG_HASH_ONLY_ON_SAME_NO)
1511 SQLSTATE: HY000
(ER_REORG_NO_PARAM_ERROR)
1512 SQLSTATE: HY000
(ER_ONLY_ON_RANGE_LIST_PARTITION)
1513 SQLSTATE: HY000
(ER_ADD_PARTITION_SUBPART_ERROR)
1514 SQLSTATE: HY000
(ER_ADD_PARTITION_NO_NEW_PARTITION)
1515 SQLSTATE: HY000
(ER_COALESCE_PARTITION_NO_PARTITION)
1516 SQLSTATE: HY000
(ER_REORG_PARTITION_NOT_EXIST)
1517 SQLSTATE: HY000
(ER_SAME_NAME_PARTITION)
1518 SQLSTATE: HY000
(ER_NO_BINLOG_ERROR)
1519 SQLSTATE: HY000
(ER_CONSECUTIVE_REORG_PARTITIONS)
1520 SQLSTATE: HY000
(ER_REORG_OUTSIDE_RANGE)
1521 SQLSTATE: HY000
(ER_PARTITION_FUNCTION_FAILURE)
1523 SQLSTATE: HY000
(ER_LIMITED_PART_RANGE)
1524 SQLSTATE: HY000
(ER_PLUGIN_IS_NOT_LOADED)
1525 SQLSTATE: HY000
(ER_WRONG_VALUE)
1526 SQLSTATE: HY000
(ER_NO_PARTITION_FOR_GIVEN_VALUE)
1527 SQLSTATE: HY000
(ER_FILEGROUP_OPTION_ONLY_ONCE)
1528 SQLSTATE: HY000
(ER_CREATE_FILEGROUP_FAILED)
1529 SQLSTATE: HY000
(ER_DROP_FILEGROUP_FAILED)
1530 SQLSTATE: HY000
(ER_TABLESPACE_AUTO_EXTEND_ERROR)
1531 SQLSTATE: HY000
(ER_WRONG_SIZE_NUMBER)
1532 SQLSTATE: HY000
(ER_SIZE_OVERFLOW_ERROR)
1533 SQLSTATE: HY000
(ER_ALTER_FILEGROUP_FAILED)
1534 SQLSTATE: HY000
(ER_BINLOG_ROW_LOGGING_FAILED)
1537 SQLSTATE: HY000
(ER_EVENT_ALREADY_EXISTS)
1539 SQLSTATE: HY000
(ER_EVENT_DOES_NOT_EXIST)
1542 SQLSTATE: HY000
(ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG)
1543 SQLSTATE: HY000
(ER_EVENT_ENDS_BEFORE_STARTS)
1544 SQLSTATE: HY000
(ER_EVENT_EXEC_TIME_IN_THE_PAST)
1551 SQLSTATE: HY000
(ER_EVENT_SAME_NAME)
1553 SQLSTATE: HY000
(ER_DROP_INDEX_FK
)
InnoDB возвращает эту ошибку, когда Вы пытаетесь удалить
последний индекс, который может провести особое справочное ограничение.InnoDB
требует, чтобы индексирование существовало на столбцах
внешнего ключа так, чтобы
операции UPDATE и DELETE на
родительской таблице
могли легко проверить, существуют ли соответствующие строки в
the дочерней таблице. MySQL
создает или удаляет такой индекс автоматически при необходимости, как
побочный эффект CREATE TABLE,
CREATE INDEX и
ALTER TABLE.InnoDB проверяет, если
индексирование используется для того, чтобы проверить ограничение внешнего
ключа. Нормально удалить индекс, если есть другой, который может
использоваться, чтобы провести то же самое ограничение. InnoDB
препятствует удалению последнего индекса, который может провести
особое справочное ограничение.1554 SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYNTAX_WITH_VER)
1556 SQLSTATE: HY000
(ER_CANT_LOCK_LOG_TABLE)
1557 SQLSTATE: 23000
(ER_FOREIGN_DUPLICATE_KEY_OLD_UNUSED)
1558 SQLSTATE: HY000
(ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE)
1559 SQLSTATE: HY000
(ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR)
1560 SQLSTATE: HY000
(ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT)
1562 SQLSTATE: HY000
(ER_PARTITION_NO_TEMPORARY)
1563 SQLSTATE: HY000
(ER_PARTITION_CONST_DOMAIN_ERROR)
1564 SQLSTATE: HY000
(ER_PARTITION_FUNCTION_IS_NOT_ALLOWED)
1565 SQLSTATE: HY000
(ER_DDL_LOG_ERROR)
1566 SQLSTATE: HY000
(ER_NULL_IN_VALUES_LESS_THAN)
1567 SQLSTATE: HY000
(ER_WRONG_PARTITION_NAME)
1568 SQLSTATE: 25001
(ER_CANT_CHANGE_TX_CHARACTERISTICS)
1569 SQLSTATE: HY000
(ER_DUP_ENTRY_AUTOINCREMENT_CASE)
1571 SQLSTATE: HY000
(ER_EVENT_SET_VAR_ERROR)
1572 SQLSTATE: HY000
(ER_PARTITION_MERGE_ERROR)
1575 SQLSTATE: HY000
(ER_BASE64_DECODE_ERROR)
1576 SQLSTATE: HY000
(ER_EVENT_RECURSION_FORBIDDEN)
1578 SQLSTATE: HY000
(ER_ONLY_INTEGERS_ALLOWED)
1579 SQLSTATE: HY000
(ER_UNSUPORTED_LOG_ENGINE)
1580 SQLSTATE: HY000
(ER_BAD_LOG_STATEMENT)
1581 SQLSTATE: HY000
(ER_CANT_RENAME_LOG_TABLE)
1582 SQLSTATE: 42000
(ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT)
1583 SQLSTATE: 42000
(ER_WRONG_PARAMETERS_TO_NATIVE_FCT)
1584 SQLSTATE: 42000
(ER_WRONG_PARAMETERS_TO_STORED_FCT)
1585 SQLSTATE: HY000
(ER_NATIVE_FCT_NAME_COLLISION)
1586 SQLSTATE: 23000
(ER_DUP_ENTRY_WITH_KEY_NAME)
ER_DUP_ENTRY.
1587 SQLSTATE: HY000
(ER_BINLOG_PURGE_EMFILE)
1588 SQLSTATE: HY000
(ER_EVENT_CANNOT_CREATE_IN_THE_PAST)
1589 SQLSTATE: HY000
(ER_EVENT_CANNOT_ALTER_IN_THE_PAST)
1590 SQLSTATE: HY000
(ER_SLAVE_INCIDENT)
1591 SQLSTATE: HY000
(ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT)
1592 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_STATEMENT)
1593 SQLSTATE: HY000
(ER_SLAVE_FATAL_ERROR)
1594 SQLSTATE: HY000
(ER_SLAVE_RELAY_LOG_READ_FAILURE)
1595 SQLSTATE: HY000
(ER_SLAVE_RELAY_LOG_WRITE_FAILURE)
1596 SQLSTATE: HY000
(ER_SLAVE_CREATE_EVENT_FAILURE)
1597 SQLSTATE: HY000
(ER_SLAVE_MASTER_COM_FAILURE)
1598 SQLSTATE: HY000
(ER_BINLOG_LOGGING_IMPOSSIBLE)
1599 SQLSTATE: HY000
(ER_VIEW_NO_CREATION_CTX)
1600 SQLSTATE: HY000
(ER_VIEW_INVALID_CREATION_CTX)
1602 SQLSTATE: HY000
(ER_TRG_CORRUPTED_FILE)
1603 SQLSTATE: HY000
(ER_TRG_NO_CREATION_CTX)
1604 SQLSTATE: HY000
(ER_TRG_INVALID_CREATION_CTX)
1605 SQLSTATE: HY000
(ER_EVENT_INVALID_CREATION_CTX)
1606 SQLSTATE: HY000
(ER_TRG_CANT_OPEN_TABLE)
1609 SQLSTATE: HY000
(ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT)
1610 SQLSTATE: HY000
(ER_SLAVE_CORRUPT_EVENT)
1612 SQLSTATE: HY000
(ER_LOG_PURGE_NO_FILE)
1613 SQLSTATE: XA106
(ER_XA_RBTIMEOUT)
1614 SQLSTATE: XA102
(ER_XA_RBDEADLOCK)
1615 SQLSTATE: HY000
(ER_NEED_REPREPARE)
1617 SQLSTATE: HY000
(WARN_NO_MASTER_INFO)
1618 SQLSTATE: HY000
(WARN_OPTION_IGNORED)
1619 SQLSTATE: HY000
(ER_PLUGIN_DELETE_BUILTIN)
1620 SQLSTATE: HY000
(WARN_PLUGIN_BUSY)
1621 SQLSTATE: HY000
(ER_VARIABLE_IS_READONLY)
1622 SQLSTATE: HY000
(ER_WARN_ENGINE_TRANSACTION_ROLLBACK)
1623 SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_FAILURE)
1624 SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE)
1625 SQLSTATE: HY000
(ER_NDB_REPLICATION_SCHEMA_ERROR)
1626 SQLSTATE: HY000
(ER_CONFLICT_FN_PARSE_ERROR)
1627 SQLSTATE: HY000
(ER_EXCEPTIONS_WRITE_ERROR)
1628 SQLSTATE: HY000
(ER_TOO_LONG_TABLE_COMMENT)
1629 SQLSTATE: HY000
(ER_TOO_LONG_FIELD_COMMENT)
1630 SQLSTATE: 42000
(ER_FUNC_INEXISTENT_NAME_COLLISION)
1631 SQLSTATE: HY000
(ER_DATABASE_NAME)
1632 SQLSTATE: HY000
(ER_TABLE_NAME)
1633 SQLSTATE: HY000
(ER_PARTITION_NAME)
1634 SQLSTATE: HY000
(ER_SUBPARTITION_NAME)
1635 SQLSTATE: HY000
(ER_TEMPORARY_NAME)
1636 SQLSTATE: HY000
(ER_RENAMED_NAME)
1637 SQLSTATE: HY000
(ER_TOO_MANY_CONCURRENT_TRXS)
1638 SQLSTATE: HY000
(WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED)
1639 SQLSTATE: HY000
(ER_DEBUG_SYNC_TIMEOUT)
1640 SQLSTATE: HY000
(ER_DEBUG_SYNC_HIT_LIMIT)
1641 SQLSTATE: 42000
(ER_DUP_SIGNAL_SET)
1642 SQLSTATE: 01000
(ER_SIGNAL_WARN)
1643 SQLSTATE: 02000
(ER_SIGNAL_NOT_FOUND)
1644 SQLSTATE: HY000
(ER_SIGNAL_EXCEPTION)
1645 SQLSTATE: 0K000
(ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER)
1646 SQLSTATE: HY000
(ER_SIGNAL_BAD_CONDITION_TYPE)
1647 SQLSTATE: HY000
(WARN_COND_ITEM_TRUNCATED)
1648 SQLSTATE: HY000
(ER_COND_ITEM_TOO_LONG)
1649 SQLSTATE: HY000
(ER_UNKNOWN_LOCALE)
1650 SQLSTATE: HY000
(ER_SLAVE_IGNORE_SERVER_IDS)
1651 SQLSTATE: HY000
(ER_QUERY_CACHE_DISABLED)
1652 SQLSTATE: HY000
(ER_SAME_NAME_PARTITION_FIELD)
1653 SQLSTATE: HY000
(ER_PARTITION_COLUMN_LIST_ERROR)
1654 SQLSTATE: HY000
(ER_WRONG_TYPE_COLUMN_VALUE_ERROR)
1655 SQLSTATE: HY000
(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR)
1656 SQLSTATE: HY000
(ER_MAXVALUE_IN_VALUES_IN)
1657 SQLSTATE: HY000
(ER_TOO_MANY_VALUES_ERROR)
1658 SQLSTATE: HY000
(ER_ROW_SINGLE_PARTITION_FIELD_ERROR)
1659 SQLSTATE: HY000
(ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD)
1660 SQLSTATE: HY000
(ER_PARTITION_FIELDS_TOO_LONG)
1661 SQLSTATE: HY000
(ER_BINLOG_ROW_ENGINE_AND_STMT_ENGINE)
1662 SQLSTATE: HY000
(ER_BINLOG_ROW_MODE_AND_STMT_ENGINE)
1663 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_AND_STMT_ENGINE)
1664 SQLSTATE: HY000
(ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE)
1665 SQLSTATE: HY000
(ER_BINLOG_STMT_MODE_AND_ROW_ENGINE)
1666 SQLSTATE: HY000
(ER_BINLOG_ROW_INJECTION_AND_STMT_MODE)
1667 SQLSTATE: HY000
(ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE)
1668 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_LIMIT)
1670 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_SYSTEM_TABLE)
1671 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_AUTOINC_COLUMNS)
1672 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_UDF)
1673 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_SYSTEM_VARIABLE)
1674 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_SYSTEM_FUNCTION)
1675 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_NONTRANS_AFTER_TRANS)
1676 SQLSTATE: HY000
(ER_MESSAGE_AND_STATEMENT)
1677 SQLSTATE: HY000
(ER_SLAVE_CONVERSION_FAILED)
1678 SQLSTATE: HY000
(ER_SLAVE_CANT_CREATE_CONVERSION)
1679 SQLSTATE: HY000
(ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_FORMAT)
1680 SQLSTATE: HY000
(ER_PATH_LENGTH)
1681 SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT)
1682 SQLSTATE: HY000
(ER_WRONG_NATIVE_TABLE_STRUCTURE)
1683 SQLSTATE: HY000
(ER_WRONG_PERFSCHEMA_USAGE)
1684 SQLSTATE: HY000
(ER_WARN_I_S_SKIPPED_TABLE)
1685 SQLSTATE: HY000
(ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_DIRECT)
1686 SQLSTATE: HY000
(ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_DIRECT)
1687 SQLSTATE: 42000
(ER_SPATIAL_MUST_HAVE_GEOM_COL)
1688 SQLSTATE: HY000
(ER_TOO_LONG_INDEX_COMMENT)
1689 SQLSTATE: HY000
(ER_LOCK_ABORTED)
1690 SQLSTATE: 22003
(ER_DATA_OUT_OF_RANGE)
1691 SQLSTATE: HY000
(ER_WRONG_SPVAR_TYPE_IN_LIMIT)
1692 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE)
1693 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_MIXED_STATEMENT)
1694 SQLSTATE: HY000
(ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SQL_LOG_BIN)
1695 SQLSTATE: HY000
(ER_STORED_FUNCTION_PREVENTS_SWITCH_SQL_LOG_BIN)
1696 SQLSTATE: HY000
(ER_FAILED_READ_FROM_PAR_FILE)
1697 SQLSTATE: HY000
(ER_VALUES_IS_NOT_INT_TYPE_ERROR)
1698 SQLSTATE: 28000
(ER_ACCESS_DENIED_NO_PASSWORD_ERROR)
1699 SQLSTATE: HY000
(ER_SET_PASSWORD_AUTH_PLUGIN)
1701 SQLSTATE: 42000
(ER_TRUNCATE_ILLEGAL_FK)
1702 SQLSTATE: HY000
(ER_PLUGIN_IS_PERMANENT)
1703 SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN)
1704 SQLSTATE: HY000
(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX)
1705 SQLSTATE: HY000
(ER_STMT_CACHE_FULL)
1706 SQLSTATE: HY000
(ER_MULTI_UPDATE_KEY_CONFLICT)
1707 SQLSTATE: HY000
(ER_TABLE_NEEDS_REBUILD)
1708 SQLSTATE: HY000
(WARN_OPTION_BELOW_LIMIT)
1709 SQLSTATE: HY000
(ER_INDEX_COLUMN_TOO_LONG)
1710 SQLSTATE: HY000
(ER_ERROR_IN_TRIGGER_BODY)
1711 SQLSTATE: HY000
(ER_ERROR_IN_UNKNOWN_TRIGGER_BODY)
1712 SQLSTATE: HY000
(ER_INDEX_CORRUPT)
1713 SQLSTATE: HY000
(ER_UNDO_RECORD_TOO_BIG)
1714 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_INSERT_IGNORE_SELECT)
1715 SQLSTATE: HY000
(
ER_BINLOG_UNSAFE_INSERT_SELECT_UPDATE)
1716 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_REPLACE_SELECT)
1717 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_CREATE_IGNORE_SELECT)
1718 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_CREATE_REPLACE_SELECT)
1719 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_UPDATE_IGNORE)
1720 SQLSTATE: HY000
(ER_PLUGIN_NO_UNINSTALL)
1721 SQLSTATE: HY000
(ER_PLUGIN_NO_INSTALL)
1722 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_WRITE_AUTOINC_SELECT)
1723 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC)
1724 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_INSERT_TWO_KEYS)
1725 SQLSTATE: HY000
(ER_TABLE_IN_FK_CHECK)
1726 SQLSTATE: HY000
(ER_UNSUPPORTED_ENGINE)
1727 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST)
1728 SQLSTATE: HY000
(ER_CANNOT_LOAD_FROM_TABLE_V2)
1729 SQLSTATE: HY000
(ER_MASTER_DELAY_VALUE_OUT_OF_RANGE)
1730 SQLSTATE: HY000
(ER_ONLY_FD_AND_RBR_EVENTS_ALLOWED_IN_BINLOG_STATEMENT)
1731 SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_DIFFERENT_OPTION)
1732 SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_PART_TABLE)
1733 SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_TEMP_TABLE)
1734 SQLSTATE: HY000
(ER_PARTITION_INSTEAD_OF_SUBPARTITION)
1735 SQLSTATE: HY000
(ER_UNKNOWN_PARTITION)
1736 SQLSTATE: HY000
(ER_TABLES_DIFFERENT_METADATA)
1737 SQLSTATE: HY000
(ER_ROW_DOES_NOT_MATCH_PARTITION)
1738 SQLSTATE: HY000
(ER_BINLOG_CACHE_SIZE_GREATER_THAN_MAX)
1739 SQLSTATE: HY000
(ER_WARN_INDEX_NOT_APPLICABLE)
1740 SQLSTATE: HY000
(ER_PARTITION_EXCHANGE_FOREIGN_KEY)
1742 SQLSTATE: HY000
(ER_RPL_INFO_DATA_TOO_LONG)
1743 SQLSTATE: HY000
(ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE)
1745 SQLSTATE: HY000
(ER_BINLOG_STMT_CACHE_SIZE_GREATER_THAN_MAX)
1746 SQLSTATE: HY000
(ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT)
1747 SQLSTATE: HY000
(ER_PARTITION_CLAUSE_ON_NONPARTITIONED)
1748 SQLSTATE: HY000
(ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET)
1750 SQLSTATE: HY000
(ER_CHANGE_RPL_INFO_REPOSITORY_FAILURE)
1751 SQLSTATE: HY000
(ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_CREATED_TEMP_TABLE)
1752 SQLSTATE: HY000
(ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_DROPPED_TEMP_TABLE)
1753 SQLSTATE: HY000
(ER_MTS_FEATURE_IS_NOT_SUPPORTED)
1754 SQLSTATE: HY000
(ER_MTS_UPDATED_DBS_GREATER_MAX)
1755 SQLSTATE: HY000
(ER_MTS_CANT_PARALLEL)
1756 SQLSTATE: HY000
(ER_MTS_INCONSISTENT_DATA)
1757 SQLSTATE: HY000
(ER_FULLTEXT_NOT_SUPPORTED_WITH_PARTITIONING)
1758 SQLSTATE: 35000
(ER_DA_INVALID_CONDITION_NUMBER)
1759 SQLSTATE: HY000
(ER_INSECURE_PLAIN_TEXT)
1760 SQLSTATE: HY000
(ER_INSECURE_CHANGE_MASTER)
1761 SQLSTATE: 23000
(ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO)
1762 SQLSTATE: 23000
(ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO)
1763 SQLSTATE: HY000
(ER_SQLTHREAD_WITH_SECURE_SLAVE)
1764 SQLSTATE: HY000
(ER_TABLE_HAS_NO_FT)
1765 SQLSTATE: HY000
(ER_VARIABLE_NOT_SETTABLE_IN_SF_OR_TRIGGER)
1766 SQLSTATE: HY000
(ER_VARIABLE_NOT_SETTABLE_IN_TRANSACTION)
1769 SQLSTATE: HY000
(ER_SET_STATEMENT_CANNOT_INVOKE_FUNCTION)
1770 SQLSTATE: HY000
(ER_GTID_NEXT_CANT_BE_AUTOMATIC_IF_GTID_NEXT_LIST_IS_NON_NULL)
1772 SQLSTATE: HY000
(ER_MALFORMED_GTID_SET_SPECIFICATION)
1773 SQLSTATE: HY000
(ER_MALFORMED_GTID_SET_ENCODING)
1774 SQLSTATE: HY000
(ER_MALFORMED_GTID_SPECIFICATION)
1775 SQLSTATE: HY000
(ER_GNO_EXHAUSTED)
1776 SQLSTATE: HY000
(ER_BAD_SLAVE_AUTO_POSITION)
1777 SQLSTATE: HY000
(ER_AUTO_POSITION_REQUIRES_GTID_MODE_NOT_OFF)
1778 SQLSTATE: HY000
(ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET)
1779 SQLSTATE: HY000
(ER_GTID_MODE_ON_REQUIRES_ENFORCE_GTID_CONSISTENCY_ON)
1781 SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_TO_GTID_WHEN_GTID_MODE_IS_OFF)
1782 SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_TO_ANONYMOUS_WHEN_GTID_MODE_IS_ON)
1783 SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_LIST_TO_NON_NULL_WHEN_GTID_MODE_IS_OFF)
1785 SQLSTATE: HY000
(ER_GTID_UNSAFE_NON_TRANSACTIONAL_TABLE)
1786 SQLSTATE: HY000
(ER_GTID_UNSAFE_CREATE_SELECT)
1787 SQLSTATE: HY000
(ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION)
1788 SQLSTATE: HY000
(ER_GTID_MODE_CAN_ONLY_CHANGE_ONE_STEP_AT_A_TIME)
1789 SQLSTATE: HY000
(ER_MASTER_HAS_PURGED_REQUIRED_GTIDS)
1790 SQLSTATE: HY000
(ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID)
1791 SQLSTATE: HY000
(ER_UNKNOWN_EXPLAIN_FORMAT)
1792 SQLSTATE: 25006
(ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION)
1793 SQLSTATE: HY000
(ER_TOO_LONG_TABLE_PARTITION_COMMENT)
1794 SQLSTATE: HY000
(ER_SLAVE_CONFIGURATION)
1795 SQLSTATE: HY000
(ER_INNODB_FT_LIMIT)
1796 SQLSTATE: HY000
(ER_INNODB_NO_FT_TEMP_TABLE)
1797 SQLSTATE: HY000
(ER_INNODB_FT_WRONG_DOCID_COLUMN)
1798 SQLSTATE: HY000
(ER_INNODB_FT_WRONG_DOCID_INDEX)
1799 SQLSTATE: HY000
(ER_INNODB_ONLINE_LOG_TOO_BIG)
1800 SQLSTATE: HY000
(ER_UNKNOWN_ALTER_ALGORITHM)
1801 SQLSTATE: HY000
(ER_UNKNOWN_ALTER_LOCK)
1802 SQLSTATE: HY000
(ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS)
1803 SQLSTATE: HY000
(ER_MTS_RECOVERY_FAILURE)
1804 SQLSTATE: HY000
(ER_MTS_RESET_WORKERS)
1805 SQLSTATE: HY000
(ER_COL_COUNT_DOESNT_MATCH_CORRUPTED_V2)
1806 SQLSTATE: HY000
(ER_SLAVE_SILENT_RETRY_TRANSACTION)
1807 SQLSTATE: HY000
(ER_DISCARD_FK_CHECKS_RUNNING)
1808 SQLSTATE: HY000
(ER_TABLE_SCHEMA_MISMATCH)
1809 SQLSTATE: HY000
(ER_TABLE_IN_SYSTEM_TABLESPACE)
1810 SQLSTATE: HY000
(ER_IO_READ_ERROR)
1811 SQLSTATE: HY000
(ER_IO_WRITE_ERROR)
1812 SQLSTATE: HY000
(ER_TABLESPACE_MISSING)
1813 SQLSTATE: HY000
(ER_TABLESPACE_EXISTS)
1814 SQLSTATE: HY000
(ER_TABLESPACE_DISCARDED)
1815 SQLSTATE: HY000
(ER_INTERNAL_ERROR)
1816 SQLSTATE: HY000
(ER_INNODB_IMPORT_ERROR)
1817 SQLSTATE: HY000
(ER_INNODB_INDEX_CORRUPT)
1818 SQLSTATE: HY000
(ER_INVALID_YEAR_COLUMN_LENGTH)
1819 SQLSTATE: HY000
(ER_NOT_VALID_PASSWORD)
1820 SQLSTATE: HY000
(ER_MUST_CHANGE_PASSWORD)
1821 SQLSTATE: HY000
(ER_FK_NO_INDEX_CHILD)
1822 SQLSTATE: HY000
(ER_FK_NO_INDEX_PARENT)
1823 SQLSTATE: HY000
(ER_FK_FAIL_ADD_SYSTEM)
1824 SQLSTATE: HY000
(ER_FK_CANNOT_OPEN_PARENT)
1825 SQLSTATE: HY000
(ER_FK_INCORRECT_OPTION)
1826 SQLSTATE: HY000
(ER_FK_DUP_NAME)
1827 SQLSTATE: HY000
(ER_PASSWORD_FORMAT)
1828 SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_DROP)
1829 SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_DROP_CHILD)
1830 SQLSTATE: HY000
(ER_FK_COLUMN_NOT_NULL)
1831 SQLSTATE: HY000
(ER_DUP_INDEX)
1832 SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_CHANGE)
1833 SQLSTATE: HY000
(ER_FK_COLUMN_CANNOT_CHANGE_CHILD)
1835 SQLSTATE: HY000
(ER_MALFORMED_PACKET)
1836 SQLSTATE: HY000
(ER_READ_ONLY_MODE)
1837 SQLSTATE: HY000
(ER_GTID_NEXT_TYPE_UNDEFINED_GROUP)
1838 SQLSTATE: HY000
(ER_VARIABLE_NOT_SETTABLE_IN_SP)
1840 SQLSTATE: HY000
(ER_CANT_SET_GTID_PURGED_WHEN_GTID_EXECUTED_IS_NOT_EMPTY)
1841 SQLSTATE: HY000
(ER_CANT_SET_GTID_PURGED_WHEN_OWNED_GTIDS_IS_NOT_EMPTY)
1842 SQLSTATE: HY000
(ER_GTID_PURGED_WAS_CHANGED)
1843 SQLSTATE: HY000
(ER_GTID_EXECUTED_WAS_CHANGED)
1844 SQLSTATE: HY000
(ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES)
1845 SQLSTATE: 0A000
(ER_ALTER_OPERATION_NOT_SUPPORTED)
1846 SQLSTATE: 0A000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON)
1847 SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COPY)
1848 SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_PARTITION)
1849 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_RENAME)
1850 SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE)
1851 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_CHECK)
1853 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOPK)
1854 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_AUTOINC)
1855 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_HIDDEN_FTS)
1856 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_CHANGE_FTS)
1857 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FTS)
1858 SQLSTATE: HY000
(
ER_SQL_SLAVE_SKIP_COUNTER_NOT_SETTABLE_IN_GTID_MODE)
1859 SQLSTATE: 23000
(
ER_DUP_UNKNOWN_IN_INDEX)
1860 SQLSTATE: HY000
(
ER_IDENT_CAUSES_TOO_LONG_PATH)
1861 SQLSTATE: HY000
(
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOT_NULL)
1862 SQLSTATE: HY000
(
ER_MUST_CHANGE_PASSWORD_LOGIN)
1863 SQLSTATE: HY000
(ER_ROW_IN_WRONG_PARTITION)
1864 SQLSTATE: HY000
(ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX)
1866 SQLSTATE: HY000
(ER_BINLOG_LOGICAL_CORRUPTION)
1867 SQLSTATE: HY000
(ER_WARN_PURGE_LOG_IN_USE)
1868 SQLSTATE: HY000
(ER_WARN_PURGE_LOG_IS_ACTIVE)
1869 SQLSTATE: HY000
(ER_AUTO_INCREMENT_CONFLICT)
1870 SQLSTATE: HY000
(WARN_ON_BLOCKHOLE_IN_RBR)
1871 SQLSTATE: HY000
(ER_SLAVE_MI_INIT_REPOSITORY)
1872 SQLSTATE: HY000
(ER_SLAVE_RLI_INIT_REPOSITORY)
1873 SQLSTATE: 28000
(ER_ACCESS_DENIED_CHANGE_USER_ERROR)
1874 SQLSTATE: HY000
(ER_INNODB_READ_ONLY)
1875 SQLSTATE: HY000
(ER_STOP_SLAVE_SQL_THREAD_TIMEOUT)
1876 SQLSTATE: HY000
(ER_STOP_SLAVE_IO_THREAD_TIMEOUT)
1877 SQLSTATE: HY000
(ER_TABLE_CORRUPT)
1878 SQLSTATE: HY000
(ER_TEMP_FILE_WRITE_FAILURE)
1879 SQLSTATE: HY000
(ER_INNODB_FT_AUX_NOT_HEX_ID)
1880 SQLSTATE: HY000
(ER_OLD_TEMPORALS_UPGRADED)
1881 SQLSTATE: HY000
(ER_INNODB_FORCED_RECOVERY)
1882 SQLSTATE: HY000
(ER_AES_INVALID_IV)
1883 SQLSTATE: HY000
(ER_PLUGIN_CANNOT_BE_UNINSTALLED)
1884 SQLSTATE: HY000
(ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP)
1885 SQLSTATE: HY000
(ER_SLAVE_HAS_MORE_GTIDS_THAN_MASTER)
3000 SQLSTATE: HY000
(ER_FILE_CORRUPT)
3001 SQLSTATE: HY000
(ER_ERROR_ON_MASTER)
3002 SQLSTATE: HY000
(ER_INCONSISTENT_ERROR)
3003 SQLSTATE: HY000
(ER_STORAGE_ENGINE_NOT_LOADED)
3004 SQLSTATE: 0Z002
(ER_GET_STACKED_DA_WITHOUT_ACTIVE_HANDLER)
3005 SQLSTATE: HY000
(ER_WARN_LEGACY_SYNTAX_CONVERTED)
3006 SQLSTATE: HY000
(ER_BINLOG_UNSAFE_FULLTEXT_PLUGIN)
3007 SQLSTATE: HY000
(ER_CANNOT_DISCARD_TEMPORARY_TABLE)
3008 SQLSTATE: HY000
(ER_FK_DEPTH_EXCEEDED)
3009 SQLSTATE: HY000
(ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE_V2)
3010 SQLSTATE: HY000
(ER_WARN_TRIGGER_DOESNT_HAVE_CREATED)
3011 SQLSTATE: HY000
(ER_REFERENCED_TRG_DOES_NOT_EXIST)
3012 SQLSTATE: HY000
(ER_EXPLAIN_NOT_SUPPORTED)
3013 SQLSTATE: HY000
(ER_INVALID_FIELD_SIZE)
3014 SQLSTATE: HY000
(ER_MISSING_HA_CREATE_OPTION)
3015 SQLSTATE: HY000
(ER_ENGINE_OUT_OF_MEMORY)
3016 SQLSTATE: HY000
(ER_PASSWORD_EXPIRE_ANONYMOUS_USER)
3017 SQLSTATE: HY000
(ER_SLAVE_SQL_THREAD_MUST_STOP)
3018 SQLSTATE: HY000
(ER_NO_FT_MATERIALIZED_SUBQUERY)
3019 SQLSTATE: HY000
(ER_INNODB_UNDO_LOG_FULL)
3020 SQLSTATE: 2201E
(ER_INVALID_ARGUMENT_FOR_LOGARITHM)
3021 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_IO_THREAD_MUST_STOP)
3022 SQLSTATE: HY000
(ER_WARN_OPEN_TEMP_TABLES_MUST_BE_ZERO)
3023 SQLSTATE: HY000
(ER_WARN_ONLY_MASTER_LOG_FILE_NO_POS)
3024 SQLSTATE: HY000
(ER_QUERY_TIMEOUT)
3025 SQLSTATE: HY000
(ER_NON_RO_SELECT_DISABLE_TIMER)
3026 SQLSTATE: HY000
(ER_DUP_LIST_ENTRY)
3028 SQLSTATE: HY000
(ER_AGGREGATE_ORDER_FOR_UNION)
3029 SQLSTATE: HY000
(ER_AGGREGATE_ORDER_NON_AGG_QUERY)
3030 SQLSTATE: HY000
(ER_SLAVE_WORKER_STOPPED_PREVIOUS_THD_ERROR)
3031 SQLSTATE: HY000
(ER_DONT_SUPPORT_SLAVE_PRESERVE_COMMIT_ORDER)
3032 SQLSTATE: HY000
(ER_SERVER_OFFLINE_MODE)
3033 SQLSTATE: HY000
(ER_GIS_DIFFERENT_SRIDS)
3034 SQLSTATE: HY000
(ER_GIS_UNSUPPORTED_ARGUMENT)
3035 SQLSTATE: HY000
(ER_GIS_UNKNOWN_ERROR)
3036 SQLSTATE: HY000
(ER_GIS_UNKNOWN_EXCEPTION)
3037 SQLSTATE: 22023
(ER_GIS_INVALID_DATA)
3038 SQLSTATE: HY000
(ER_BOOST_GEOMETRY_EMPTY_INPUT_EXCEPTION)
3039 SQLSTATE: HY000
(ER_BOOST_GEOMETRY_CENTROID_EXCEPTION)
3040 SQLSTATE: HY000
(ER_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION)
3041 SQLSTATE: HY000
(ER_BOOST_GEOMETRY_TURN_INFO_EXCEPTION)
3042 SQLSTATE: HY000
(ER_BOOST_GEOMETRY_SELF_INTERSECTION_POINT_EXCEPTION)
3043 SQLSTATE: HY000
(ER_BOOST_GEOMETRY_UNKNOWN_EXCEPTION)
3044 SQLSTATE: HY000
(ER_STD_BAD_ALLOC_ERROR)
3045 SQLSTATE: HY000
(ER_STD_DOMAIN_ERROR)
3046 SQLSTATE: HY000
(ER_STD_LENGTH_ERROR)
3047 SQLSTATE: HY000
(ER_STD_INVALID_ARGUMENT)
3048 SQLSTATE: HY000
(ER_STD_OUT_OF_RANGE_ERROR)
3049 SQLSTATE: HY000
(ER_STD_OVERFLOW_ERROR)
3050 SQLSTATE: HY000
(ER_STD_RANGE_ERROR)
3051 SQLSTATE: HY000
(ER_STD_UNDERFLOW_ERROR)
3052 SQLSTATE: HY000
(ER_STD_LOGIC_ERROR)
3053 SQLSTATE: HY000
(ER_STD_RUNTIME_ERROR)
3054 SQLSTATE: HY000
(ER_STD_UNKNOWN_EXCEPTION)
3055 SQLSTATE: HY000
(ER_GIS_DATA_WRONG_ENDIANESS)
3056 SQLSTATE: HY000
(ER_CHANGE_MASTER_PASSWORD_LENGTH)
3057 SQLSTATE: 42000
(ER_USER_LOCK_WRONG_NAME)
3058 SQLSTATE: HY000
(ER_USER_LOCK_DEADLOCK)
GET_LOCK.
3059 SQLSTATE: HY000
(ER_REPLACE_INACCESSIBLE_ROWS)
3060 SQLSTATE: HY000
(ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_GIS)
3061 SQLSTATE: 42000
(ER_ILLEGAL_USER_VAR)
3062 SQLSTATE: HY000
(ER_GTID_MODE_OFF)
3064 SQLSTATE: HY000
(ER_INCORRECT_TYPE)
3065 SQLSTATE: HY000
(ER_FIELD_IN_ORDER_NOT_SELECT)
3066 SQLSTATE: HY000
(ER_AGGREGATE_IN_ORDER_NOT_SELECT)
3067 SQLSTATE: HY000
(ER_INVALID_RPL_WILD_TABLE_FILTER_PATTERN)
3068 SQLSTATE: 08S01
(ER_NET_OK_PACKET_TOO_LARGE)
3069 SQLSTATE: HY000
(ER_INVALID_JSON_DATA)
3070 SQLSTATE: HY000
(ER_INVALID_GEOJSON_MISSING_MEMBER)
3071 SQLSTATE: HY000
(ER_INVALID_GEOJSON_WRONG_TYPE)
3072 SQLSTATE: HY000
(ER_INVALID_GEOJSON_UNSPECIFIED)
3073 SQLSTATE: HY000
(ER_DIMENSION_UNSUPPORTED)
3074 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_DOES_NOT_EXIST)
3076 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_NAME_INVALID_OR_TOO_LONG)
3077 SQLSTATE: HY000
(ER_SLAVE_NEW_CHANNEL_WRONG_REPOSITORY)
3079 SQLSTATE: HY000
(ER_SLAVE_MULTIPLE_CHANNELS_CMD)
3080 SQLSTATE: HY000
(ER_SLAVE_MAX_CHANNELS_EXCEEDED)
3081 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_MUST_STOP)
3082 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_NOT_RUNNING)
3083 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_WAS_RUNNING)
3084 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_WAS_NOT_RUNNING)
3085 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_SQL_THREAD_MUST_STOP)
3086 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_SQL_SKIP_COUNTER)
3087 SQLSTATE: HY000
(ER_WRONG_FIELD_WITH_GROUP_V2)
3088 SQLSTATE: HY000
(ER_MIX_OF_GROUP_FUNC_AND_FIELDS_V2)
3089 SQLSTATE: HY000
(ER_WARN_DEPRECATED_SYSVAR_UPDATE)
3090 SQLSTATE: HY000
(ER_WARN_DEPRECATED_SQLMODE)
3091 SQLSTATE: HY000
(ER_CANNOT_LOG_PARTIAL_DROP_DATABASE_WITH_GTID)
3092 SQLSTATE: HY000
(ER_GROUP_REPLICATION_CONFIGURATION)
3093 SQLSTATE: HY000
(ER_GROUP_REPLICATION_RUNNING)
3094 SQLSTATE: HY000
(ER_GROUP_REPLICATION_APPLIER_INIT_ERROR)
3095 SQLSTATE: HY000
(ER_GROUP_REPLICATION_STOP_APPLIER_THREAD_TIMEOUT)
3096 SQLSTATE: HY000
(ER_GROUP_REPLICATION_COMMUNICATION_LAYER_SESSION_ERROR)
3097 SQLSTATE: HY000
(ER_GROUP_REPLICATION_COMMUNICATION_LAYER_JOIN_ERROR)
3098 SQLSTATE: HY000
(ER_BEFORE_DML_VALIDATION_ERROR)
3099 SQLSTATE: HY000
(ER_PREVENTS_VARIABLE_WITHOUT_RBR)
3100 SQLSTATE: HY000
(ER_RUN_HOOK_ERROR)
3101 SQLSTATE: HY000
(ER_TRANSACTION_ROLLBACK_DURING_COMMIT)
3102 SQLSTATE: HY000
(ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED)
3103 SQLSTATE: HY000
(ER_UNSUPPORTED_ALTER_INPLACE_ON_VIRTUAL_COLUMN)
3104 SQLSTATE: HY000
(ER_WRONG_FK_OPTION_FOR_GENERATED_COLUMN)
3105 SQLSTATE: HY000
(ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN)
3106 SQLSTATE: HY000
(ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN)
3107 SQLSTATE: HY000
(
ER_GENERATED_COLUMN_NON_PRIOR)
3108 SQLSTATE: HY000
(
ER_DEPENDENT_BY_GENERATED_COLUMN)
3109 SQLSTATE: HY000
(
ER_GENERATED_COLUMN_REF_AUTO_INC)
3110 SQLSTATE: HY000
(ER_FEATURE_NOT_AVAILABLE)
3111 SQLSTATE: HY000
(ER_CANT_SET_GTID_MODE)
3112 SQLSTATE: HY000
(
ER_CANT_USE_AUTO_POSITION_WITH_GTID_MODE_OFF)
3113 SQLSTATE: HY000
(
ER_CANT_REPLICATE_ANONYMOUS_WITH_AUTO_POSITION)
3114 SQLSTATE: HY000
(
ER_CANT_REPLICATE_ANONYMOUS_WITH_GTID_MODE_ON)
3115 SQLSTATE: HY000
(
ER_CANT_REPLICATE_GTID_WITH_GTID_MODE_OFF)
3116 SQLSTATE: HY000
(
ER_CANT_ENFORCE_GTID_CONSISTENCY_WITH_ONGOING_GTID_VIOLATING_TX
)
ER_CANT_SET_ENFORCE_GTID_CONSISTENCY_ON_WITH_ONGOING_GTID_VIOLATING_TRANSACTIONS
was renamed to
ER_CANT_ENFORCE_GTID_CONSISTENCY_WITH_ONGOING_GTID_VIOLATING_TX.
3117 SQLSTATE: HY000
(ER_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TX)
ER_SET_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TRANSACTIONS
was renamed to
ER_ENFORCE_GTID_CONSISTENCY_WARN_WITH_ONGOING_GTID_VIOLATING_TX.
3118 SQLSTATE: HY000
(
ER_ACCOUNT_HAS_BEEN_LOCKED)
CREATE USER ... ACCOUNT LOCK или
ALTER USER ... ACCOUNT LOCK.
Администратор может разблокировать через
ALTER USER ... ACCOUNT UNLOCK.
3119 SQLSTATE: 42000
(
ER_WRONG_TABLESPACE_NAME)
3120 SQLSTATE: HY000
(ER_TABLESPACE_IS_NOT_EMPTY)
3121 SQLSTATE: HY000
(ER_WRONG_FILE_NAME)
3122 SQLSTATE: HY000
(ER_BOOST_GEOMETRY_INCONSISTENT_TURNS_EXCEPTION)
3123 SQLSTATE: HY000
(ER_WARN_OPTIMIZER_HINT_SYNTAX_ERROR)
3124 SQLSTATE: HY000
(ER_WARN_BAD_MAX_EXECUTION_TIME)
3125 SQLSTATE: HY000
(
ER_WARN_UNSUPPORTED_MAX_EXECUTION_TIME)
MAX_EXECUTION_TIME() поддержана только
для оператора SELECT.3126 SQLSTATE: HY000
(
ER_WARN_CONFLICTING_HINT)
3127 SQLSTATE: HY000
(ER_WARN_UNKNOWN_QB_NAME)
3128 SQLSTATE: HY000
(ER_UNRESOLVED_HINT_NAME)
3129 SQLSTATE: HY000
(ER_WARN_ON_MODIFYING_GTID_EXECUTED_TABLE)
3130 SQLSTATE: HY000
(ER_PLUGGABLE_PROTOCOL_COMMAND_NOT_SUPPORTED)
3131 SQLSTATE: 42000
(
ER_LOCKING_SERVICE_WRONG_NAME)
NULL, пустая строка
или строка длинней 64 символов. Пространство имен и имена блокировки должны
быть не-NULL, непустыми и не больше, чем 64 символа.3132 SQLSTATE: HY000
(
ER_LOCKING_SERVICE_DEADLOCK)
3133 SQLSTATE: HY000
(ER_LOCKING_SERVICE_TIMEOUT)
3134 SQLSTATE: HY000
(ER_GIS_MAX_POINTS_IN_GEOMETRY_OVERFLOWED)
3135 SQLSTATE: HY000
(ER_SQL_MODE_MERGED)
3136 SQLSTATE: HY000
(
ER_VTOKEN_PLUGIN_TOKEN_MISMATCH)
version_tokens_session в список маркеров, которым сервер
должен соответствовать, но в маркерном списке сервера есть по крайней мере
одно соответствующее маркерное имя, у которого есть значение, отличающееся от
того, чего требует клиент. См.
раздел 6.6.5.3137 SQLSTATE: HY000
(
ER_VTOKEN_PLUGIN_TOKEN_NOT_FOUND)
version_tokens_session в список маркеров, которым сервер
должен соответствовать, но маркерный список сервера пропускает по крайней
мере один из этих маркеров. См.
See раздел 6.6.5.3138 SQLSTATE: HY000
(
ER_CANT_SET_VARIABLE_WHEN_OWNING_GTID)
3139 SQLSTATE: HY000
(ER_SLAVE_CHANNEL_OPERATION_NOT_ALLOWED)
3140 SQLSTATE: 22032
(ER_INVALID_JSON_TEXT)
3141 SQLSTATE: 22032
(
ER_INVALID_JSON_TEXT_IN_PARAM)
3142 SQLSTATE: HY000
(ER_INVALID_JSON_BINARY_DATA)
3143 SQLSTATE: 42000
(ER_INVALID_JSON_PATH)
3144 SQLSTATE: 22032
(ER_INVALID_JSON_CHARSET)
3145 SQLSTATE: 22032
(ER_INVALID_JSON_CHARSET_IN_FUNCTION)
3146 SQLSTATE: 22032
(ER_INVALID_TYPE_FOR_JSON)
3147 SQLSTATE: 22032
(ER_INVALID_CAST_TO_JSON)
3148 SQLSTATE: 42000
(ER_INVALID_JSON_PATH_CHARSET)
3149 SQLSTATE: 42000
(ER_INVALID_JSON_PATH_WILDCARD)
3150 SQLSTATE: 22032
(ER_JSON_VALUE_TOO_BIG)
3151 SQLSTATE: 22032
(ER_JSON_KEY_TOO_BIG)
3152 SQLSTATE: 42000
(ER_JSON_USED_AS_KEY)
3153 SQLSTATE: 42000
(ER_JSON_VACUOUS_PATH)
3154 SQLSTATE: 42000
(ER_JSON_BAD_ONE_OR_ALL_ARG)
3155 SQLSTATE: 22003
(ER_NUMERIC_JSON_VALUE_OUT_OF_RANGE)
3156 SQLSTATE: 22018
(
ER_INVALID_JSON_VALUE_FOR_CAST)
3157 SQLSTATE: 22032
(ER_JSON_DOCUMENT_TOO_DEEP)
3158 SQLSTATE: 22032
(ER_JSON_DOCUMENT_NULL_KEY)
3159 SQLSTATE: HY000
(
ER_SECURE_TRANSPORT_REQUIRED)
require_secure_transport клиенты могут соединиться только
используя безопасный транспорт. Квалифицированные соединения это
те, которые используют SSL, файл сокета Unix или
совместно используемую память.3160 SQLSTATE: HY000
(
ER_NO_SECURE_TRANSPORTS_CONFIGURED)
require_secure_transport не может быть включена, если сервер
не поддерживает по крайней мере один безопасный транспорт. Сконфигурируйте
сервер с необходимыми ключами/сертификатами SSL, чтобы включить соединения
SSL, или включите системную переменную
shared_memory,
чтобы разрешить соединения по совместно используемой памяти.3161 SQLSTATE: HY000
(
ER_DISABLED_STORAGE_ENGINE)
disabled_storage_engines, или изменить существующую таблицу (или
табличное пространство) к такому механизму. Выберите иной механизм хранения.
3162 SQLSTATE: HY000
(
ER_USER_DOES_NOT_EXIST)
3163 SQLSTATE: HY000
(
ER_USER_ALREADY_EXISTS)
3164 SQLSTATE: HY000
(ER_AUDIT_API_ABORT
)
3165 SQLSTATE: 42000
(
ER_INVALID_JSON_PATH_ARRAY_CELL)
3166 SQLSTATE: HY000
(
ER_BUFPOOL_RESIZE_INPROGRESS)
3167 SQLSTATE: HY000
(
ER_FEATURE_DISABLED_SEE_DOC)
3168 SQLSTATE: HY000
(ER_SERVER_ISNT_AVAILABLE)
3169 SQLSTATE: HY000
(ER_SESSION_WAS_KILLED)
3170 SQLSTATE: HY000
(ER_CAPACITY_EXCEEDED)
3171 SQLSTATE: HY000
(
ER_CAPACITY_EXCEEDED_IN_RANGE_OPTIMIZER)
3173 SQLSTATE: HY000
(
ER_CANT_WAIT_FOR_EXECUTED_GTID_SET_WHILE_OWNING_A_GTID)
3174 SQLSTATE: HY000
(
ER_CANNOT_ADD_FOREIGN_BASE_COL_VIRTUAL)
3175 SQLSTATE: HY000
(
ER_CANNOT_CREATE_VIRTUAL_INDEX_CONSTRAINT)
3176 SQLSTATE: HY000
(
ER_ERROR_ON_MODIFYING_GTID_EXECUTED_TABLE)
3177 SQLSTATE: HY000
(ER_LOCK_REFUSED_BY_ENGINE)
3178 SQLSTATE: HY000
(ER_UNSUPPORTED_ALTER_ONLINE_ON_VIRTUAL_COLUMN)
3179 SQLSTATE: HY000
(ER_MASTER_KEY_ROTATION_NOT_SUPPORTED_BY_SE)
3181 SQLSTATE: HY000
(ER_MASTER_KEY_ROTATION_BINLOG_FAILED)
3182 SQLSTATE: HY000
(ER_MASTER_KEY_ROTATION_SE_UNAVAILABLE)
3183 SQLSTATE: HY000
(ER_TABLESPACE_CANNOT_ENCRYPT)
3184 SQLSTATE: HY000
(ER_INVALID_ENCRYPTION_OPTION)
3185 SQLSTATE: HY000
(ER_CANNOT_FIND_KEY_IN_KEYRING)
3186 SQLSTATE: HY000
(ER_CAPACITY_EXCEEDED_IN_PARSER)
3187 SQLSTATE: HY000
(ER_UNSUPPORTED_ALTER_ENCRYPTION_INPLACE)
3188 SQLSTATE: HY000
(ER_KEYRING_UDF_KEYRING_SERVICE_ERROR)
3189 SQLSTATE: HY000
(ER_USER_COLUMN_OLD_LENGTH)
3190 SQLSTATE: HY000
(ER_CANT_RESET_MASTER)
3191 SQLSTATE: HY000
(ER_GROUP_REPLICATION_MAX_GROUP_SIZE)
3192 SQLSTATE: HY000
(ER_CANNOT_ADD_FOREIGN_BASE_COL_STORED)
3193 SQLSTATE: HY000
(ER_TABLE_REFERENCED)
3500 SQLSTATE: HY000
(ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE)
3501 SQLSTATE: HY000
(ER_ACL_OPERATION_FAILED)
3502 SQLSTATE: HY000
(ER_UNSUPPORTED_INDEX_ALGORITHM)
3503 SQLSTATE: 42Y07
(ER_NO_SUCH_DB)
3504 SQLSTATE: HY000
(ER_TOO_BIG_ENUM)
3505 SQLSTATE: HY000
(ER_TOO_LONG_SET_ENUM_VALUE)
3506 SQLSTATE: HY000
(ER_INVALID_DD_OBJECT)
3507 SQLSTATE: HY000
(ER_UPDATING_DD_TABLE)
3508 SQLSTATE: HY000
(ER_INVALID_DD_OBJECT_ID)
3509 SQLSTATE: HY000
(ER_INVALID_DD_OBJECT_NAME)
3510 SQLSTATE: HY000
(ER_TABLESPACE_MISSING_WITH_NAME)
3511 SQLSTATE: HY000
(ER_TOO_LONG_ROUTINE_COMMENT)
3512 SQLSTATE: HY000
(ER_SP_LOAD_FAILED)
3513 SQLSTATE: HY000
(ER_INVALID_BITWISE_OPERANDS_SIZE)
3514 SQLSTATE: HY000
(ER_INVALID_BITWISE_AGGREGATE_OPERANDS_SIZE)
3515 SQLSTATE: HY000
(ER_WARN_UNSUPPORTED_HINT)
3516 SQLSTATE: 22S01
(ER_UNEXPECTED_GEOMETRY_TYPE)
3517 SQLSTATE: SR002
(ER_SRS_PARSE_ERROR)
3518 SQLSTATE: SR003
(ER_SRS_PROJ_PARAMETER_MISSING)
3519 SQLSTATE: 01000
(ER_WARN_SRS_NOT_FOUND)
3520 SQLSTATE: 22S00
(ER_SRS_NOT_CARTESIAN)
3521 SQLSTATE: SR001
(ER_SRS_NOT_CARTESIAN_UNDEFINED)
3522 SQLSTATE: HY000
(ER_PK_INDEX_CANT_BE_INVISIBLE)
3523 SQLSTATE: HY000
(ER_UNKNOWN_AUTHID)
3524 SQLSTATE: HY000
(ER_FAILED_ROLE_GRANT)
3525 SQLSTATE: HY000
(ER_OPEN_ROLE_TABLES)
3526 SQLSTATE: HY000
(ER_FAILED_DEFAULT_ROLES)
3527 SQLSTATE: HY000
(ER_COMPONENTS_NO_SCHEME)
3528 SQLSTATE: HY000
(ER_COMPONENTS_NO_SCHEME_SERVICE)
3529 SQLSTATE: HY000
(ER_COMPONENTS_CANT_LOAD)
3530 SQLSTATE: HY000
(ER_ROLE_NOT_GRANTED)
3531 SQLSTATE: HY000
(ER_FAILED_REVOKE_ROLE)
3532 SQLSTATE: HY000
(ER_RENAME_ROLE)
3533 SQLSTATE: HY000
(ER_COMPONENTS_CANT_ACQUIRE_SERVICE_IMPLEMENTATION)
3534 SQLSTATE: HY000
(ER_COMPONENTS_CANT_SATISFY_DEPENDENCY)
3535 SQLSTATE: HY000
(ER_COMPONENTS_LOAD_CANT_REGISTER_SERVICE_IMPLEMENTATION)
3536 SQLSTATE: HY000
(ER_COMPONENTS_LOAD_CANT_INITIALIZE)
3537 SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_NOT_LOADED)
3538 SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_CANT_DEINITIALIZE)
3539 SQLSTATE: HY000
(ER_COMPONENTS_CANT_RELEASE_SERVICE)
3540 SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_CANT_UNREGISTER_SERVICE)
3541 SQLSTATE: HY000
(ER_COMPONENTS_CANT_UNLOAD)
3542 SQLSTATE: HY000
(ER_WARN_UNLOAD_THE_NOT_PERSISTED)
3543 SQLSTATE: HY000
(ER_COMPONENT_TABLE_INCORRECT)
3544 SQLSTATE: HY000
(ER_COMPONENT_MANIPULATE_ROW_FAILED)
3545 SQLSTATE: HY000
(ER_COMPONENTS_UNLOAD_DUPLICATE_IN_GROUP)
3546 SQLSTATE: HY000
(ER_CANT_SET_GTID_PURGED_DUE_SETS_CONSTRAINTS)
3547 SQLSTATE: HY000
(ER_CANNOT_LOCK_USER_MANAGEMENT_CACHES)
3548 SQLSTATE: SR001
(ER_SRS_NOT_FOUND)
3549 SQLSTATE: HY000
(ER_VARIABLE_NOT_PERSISTED)
3550 SQLSTATE: HY000
(ER_IS_QUERY_INVALID_CLAUSE)
3551 SQLSTATE: HY000
(ER_UNABLE_TO_STORE_STATISTICS)
3552 SQLSTATE: HY000
(ER_NO_SYSTEM_SCHEMA_ACCESS)
3553 SQLSTATE: HY000
(ER_NO_SYSTEM_TABLESPACE_ACCESS)
3554 SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS)
3555 SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS_FOR_DICTIONARY_TABLE)
ER_NO_SYSTEM_TABLE_ACCESS_FOR_DICTIONARY_TABLEдобавлена в
8.0.1.3556 SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS_FOR_SYSTEM_TABLE)
ER_NO_SYSTEM_TABLE_ACCESS_FOR_SYSTEM_TABLEдобавлена в
8.0.1.3557 SQLSTATE: HY000
(
ER_NO_SYSTEM_TABLE_ACCESS_FOR_TABLE)
ER_NO_SYSTEM_TABLE_ACCESS_FOR_TABLE добавлена в 8.0.1.
B.4. Коды ошибки и сообщения клиента
include/errmsg.h исходных текстов MySQL.
libmysql/errmsg.c. %d и %s
представляют числа и строки, соответственно, которыми заменятся в сообщении,
когда оно выведено на экран.2000
(CR_UNKNOWN_ERROR)
2001
(CR_SOCKET_CREATE_ERROR)
2002
(CR_CONNECTION_ERROR)
2003
(CR_CONN_HOST_ERROR)
2004
(CR_IPSOCK_ERROR)
2005
(CR_UNKNOWN_HOST)
2006
(CR_SERVER_GONE_ERROR)
2007
(CR_VERSION_ERROR)
2008
(CR_OUT_OF_MEMORY)
2009
(CR_WRONG_HOST_INFO)
2010
(CR_LOCALHOST_CONNECTION)
2011
(CR_TCP_CONNECTION)
2012
(CR_SERVER_HANDSHAKE_ERR)
2013
(CR_SERVER_LOST)
2014
(CR_COMMANDS_OUT_OF_SYNC)
2015
(CR_NAMEDPIPE_CONNECTION)
2016
(CR_NAMEDPIPEWAIT_ERROR)
2017
(CR_NAMEDPIPEOPEN_ERROR)
2018
(CR_NAMEDPIPESETSTATE_ERROR)
2019
(CR_CANT_READ_CHARSET)
2020
(CR_NET_PACKET_TOO_LARGE)
2021
(CR_EMBEDDED_CONNECTION)
2022
(CR_PROBE_SLAVE_STATUS)
2023
(CR_PROBE_SLAVE_HOSTS)
2024
(CR_PROBE_SLAVE_CONNECT)
2025
(CR_PROBE_MASTER_CONNECT)
2026
(CR_SSL_CONNECTION_ERROR)
2027
(CR_MALFORMED_PACKET)
2028
(CR_WRONG_LICENSE)
2029
(CR_NULL_POINTER)
2030
(CR_NO_PREPARE_STMT)
2031
(CR_PARAMS_NOT_BOUND)
2032
(CR_DATA_TRUNCATED)
2033
(CR_NO_PARAMETERS_EXISTS)
2034
(
CR_INVALID_PARAMETER_NO)
mysql_stmt_fetch_column() неправильный. Число параметров для
mysql_stmt_send_long_data() неправильное.mysql_options4()
превышает предел в 64 КБ.2035
(CR_INVALID_BUFFER_USE)
2036
(CR_UNSUPPORTED_PARAM_TYPE)
2037
(CR_SHARED_MEMORY_CONNECTION)
2038
(CR_SHARED_MEMORY_CONNECT_REQUEST_ERROR)
2039
(CR_SHARED_MEMORY_CONNECT_ANSWER_ERROR)
2040
(CR_SHARED_MEMORY_CONNECT_FILE_MAP_ERROR)
2041
(CR_SHARED_MEMORY_CONNECT_MAP_ERROR)
2042
(CR_SHARED_MEMORY_FILE_MAP_ERROR)
2043
(CR_SHARED_MEMORY_MAP_ERROR)
2044
(CR_SHARED_MEMORY_EVENT_ERROR)
2045
(CR_SHARED_MEMORY_CONNECT_ABANDONED_ERROR)
2046
(CR_SHARED_MEMORY_CONNECT_SET_ERROR)
2047
(CR_CONN_UNKNOW_PROTOCOL)
2048
(CR_INVALID_CONN_HANDLE)
2049
(CR_UNUSED_1)
2050
(CR_FETCH_CANCELED)
2051
(CR_NO_DATA)
2052
(CR_NO_STMT_METADATA)
2053
(CR_NO_RESULT_SET)
2054
(CR_NOT_IMPLEMENTED)
2055
(CR_SERVER_LOST_EXTENDED)
2056
(CR_STMT_CLOSED)
2057
(CR_NEW_STMT_METADATA)
2058
(CR_ALREADY_CONNECTED)
2059
(
CR_AUTH_PLUGIN_CANNOT_LOAD)
2060
(
CR_DUPLICATE_CONNECTION_ATTR)
mysql_options4().2061
(CR_AUTH_PLUGIN_ERR
)
2062
(CR_INSECURE_API_ERR
)
B.5. Проблемы и распространенные ошибки
B.5.1.
Как определить, что вызывает проблему
glibc) достаточно современны.kbd_mode -a./var/log/messages) по причинам Вашей проблемы. Если Вы думаете,
что проблема находится в MySQL, Вы должны также исследовать файлы системного
журнала MySQL. См. раздел 6.4.B.5.2. Распространенные ошибки при
использовании программ MySQL
B.5.2.1. Access denied
Access denied может иметь много причин. Часто проблема
связана с учетными записями MySQL, которые сервер разрешает программам
клиента использовать, соединяясь. См. разделы
7.2 и
7.2.8.B.5.2.2. Can't connect to
[local] MySQL server
/tmp/mysql.sock), или по TCP/IP, который соединяется через номер
порта. Соединение файла сокета Unix быстрее, чем TCP/IP, но может
использоваться только, соединяясь с сервером на том же самом компьютере. Файл
сокета Unix используется, если Вы не определяете имя хоста или если
определяете специальное имя хоста localhost.
--enable-named-pipe, Вы можете также соединиться по именованному
каналу, если Вы выполняете клиента на том компьютере, на котором работает
сервер. Название названного канала MySQL по умолчанию. Если Вы
не задаете имя хоста, соединяясь с
mysqld,
клиент MySQL сначала пытается соединиться с названным каналом. Если это не
работает, он соединяется с портом TCP/IP. Вы можете вызвать использование
именованных каналов в Windows при использовании .
как имени хоста.Can't connect to ... обычно сообщает, что нет
никакого сервера MySQL, работающего в системе, или что Вы используете
неправильное имя файла сокета Unix или номер порта TCP/IP, пытаясь
соединиться с сервером. Вы должны также проверить, что порт TCP/IP, который
Вы используете, не был заблокирован брандмауэром или
службой блокирования порта.Can't connect to MySQL server on
' указывает, что сетевое
соединение не работает. Вы должны проверить, что есть выполненяемый сервер
MySQL, что у него есть включенные сетевые соединения, и что сетевой порт,
который Вы определили, является тем, который настроен на сервере.server' (10061)host_ip представляет IP-адрес машины, где сервер работает.
shell> mysqladmin version
shell> mysqladmin variables
shell> mysqladmin -h `hostname` version variables
shell> mysqladmin -h `hostname` --port=3306 version
shell> mysqladmin -h host_ip version
shell> mysqladmin --protocol=SOCKET --socket=/tmp/mysql.sock version
Отметьте использование обратных кавычек, а не кавычек с командой
hostname: они заставляют вывод
hostname (то есть, текущее имя хоста) быть
замененным в команде
mysqladmin. Если Вы не имеете команды
hostname или работаете в Windows, Вы можете
вручную ввести имя хоста своей машины (без обратных кавычек) после опции
-h. Вы можете также попробовать -h 127.0.0.1,
чтобы соединяться по TCP/IP с локальной машиной.
--skip-networking
, он не будет принимать соединения TCP/IP вообще. Если сервер был
запущен с опцией
--bind-address=127.0.0.1, он обрабатывает соединения TCP/IP только
локально на кольцевом интерфейсе и не будет принимать удаленные соединения.
Can't connect to local MySQL server
:/tmp/mysql.sock по умолчанию). Например, у Вас могло бы быть
задание cron, которое удаляет старые файлы из
каталога /tmp. Вы можете всегда выполнять
mysqladmin version
, чтобы проверить, существует ли файл сокета Unix, который
mysqladmin
пытается использовать. Затруднительное положение в этом случае решается
запретом cron удалять mysql.sock
или надо поместить файл сокета где-то в другом месте. См.
раздел B.5.3.6.
--socket=/path/to/socket, но забыли указать клиенту новое имя
файла сокета. Если Вы изменяете путь сокета для сервера, Вы должны также
уведомить клиентов MySQL. Вы можете сделать это, обеспечивая ту же опцию
--socket,
когда Вы выполняете программы клиента. Вы также должны гарантировать, что у
клиентов есть разрешение получить доступ к файлу mysql.sock.
Чтобы узнать, где находится файл сокета, Вы можете сделать:
shell> netstat -ln | grep mysql
--socket,
которая определяет имя файла в каталоге, где сервер может создать его и
программы клиента могут получить доступ к нему.Can't connect to MySQL server
on some_host, Вы можете попробовать следующие вещи, чтобы
узнать, в чем проблема:telnet some_host 3306. По умолчанию номер порта MySQL 3306.
Измените значение, если Ваш сервер слушает иной порт. Если есть выполнение
сервера MySQL, Вы должны получить ответ, который включает номер версии
сервера. Если Вы получаете ошибку, например, telnet: Unable to connect
to remote host: Connection refused, тогда нет никакого сервера,
работающего на данном порту.port.mysqld.B.5.2.2.1.
Соединение с сервером MySQL терпит неудачу в Windows
Can't connect to MySQL server
, причина может быть в том, что Windows не учитывает достаточно много
короткоживущих портов для таких соединений.TIME_WAIT должен сохранить соединение, принимающее пакеты
даже после того, как соединение было закрыто. Это потому, что
интернет-маршрутизация может заставить пакет следовать медленным маршрутом к
своему месту назначения, и он может прибыть после того, как обе стороны
согласились закрыть соединение. Если порт используется для нового соединения,
тот пакет от старого соединения мог бы сломать протокол или поставить под
угрозу данные оригинального соединения. Задержка TIME_WAIT
предотвращает это, гарантируя, что порт не может быть снова использован, пока
некоторое время не пройдет для тех отсроченных пакетов.TIME_WAIT на LAN-соединениях, потому что
есть немного шансов существования пакетов с очень длинными задержками, по
сравнению с Интернет с его сравнительно большими
расстояниями и временами ожидания.TIME_WAIT 120
секунд. Порт не будет доступен снова, пока это время не истечет. Диапазон
по умолчанию значений номеров портов зависит от версии Windows, с большим
ограниченным количеством портов в более старых версиях:TIME_WAIT у Вас есть хороший шанс для того, чтобы исчерпать
порты. Есть два способа решить эту проблему:Regedt32.exe).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Edit кликните Add Value, затем
добавьте следующее значение:
Value Name: MaxUserPort
Data Type: REG_DWORD
Value: 65534
Это определяет число эфемерных портов, доступных любому пользователю.
Допустимый диапазон: 5000-65534 (десятичное число).
Значение по умолчанию: 0x1388 (5000, десятичное число).Edit кликните Add Value, затем
добавьте следующее значение:
Value Name: TcpTimedWaitDelay
Data Type: REG_DWORD
Value: 30
Это определяет число секунд, которые надо держать порт TCP в статусе
TIME_WAIT перед закрытием. Допустимый диапазон между 30 и 300
(десятичные числа). Значение по умолчанию 0x78 (120 десятично).B.5.2.3.
Потерянное соединение с сервером MySQL
net_read_timeout
от значения по умолчанию в 30 секунд до 60 секунд или дольше,
достаточного времени для передачи данных.connect_timeout
установлено только в несколько секунд, Вы в состоянии решить проблему,
увеличивая его до десяти секунд, возможно больше, если у Вас есть очень
длинное расстояние или медленное соединение. Вы можете определить, в чем дело
при использовании SHOW GLOBAL STATUS LIKE 'Aborted_connects'.
Это значение увеличится для каждой начальной попытки соединения, которую
прерывает сервер. Вы можете видеть reading authorization packet
как часть сообщения об ошибке.BLOB,
которые больше чем
max_allowed_packet
, который может вызвать эту ошибку с некоторыми клиентами. Иногда
Вы можете видеть ошибку
ER_NET_PACKET_TOO_LARGE и это подтверждает, что Вы должны
увеличить
max_allowed_packet.B.5.2.4.
Проблемы с паролем в интерактивном режиме
--password
или -p, у которой нет никакого последующего значения пароля:
shell> mysql -u
На некоторых системах Вы можете найти, что Ваш пароль работает, когда
определен в файле опции или в командной строке, но не когда Вы вводите его в
интерактивном режиме в ответ на запрос user_name -p
Enter password:
Enter password:. Это
происходит, когда библиотека, предоставленная системой, чтобы считать пароли,
ограничивает значения пароля небольшим количеством символов (как правило,
восемь). Это проблема с системной библиотекой, не с MySQL. Чтобы обойти
проблему, измените свой пароль MySQL на значение, которое является восемью
или меньшим количеством символов или впишите Ваш пароль в файл опций.
B.5.2.5. Хост 'host_name' блокирован
Host '
Значение системной переменной
host_name' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts'
max_connect_errors
определяет, сколько последовательных прерванных запросов
соединения разрешено. См.
раздел 6.1.5. После
max_connect_errors
неудавшихся запросов без успешного соединения,
mysqld
предполагает, что что-то неправильно (например, что кто-то пытается вскрыть
систему) и блокирует соединения с этого хоста до запроса
FLUSH HOSTS или выполнения команды
mysqladmin flush-hosts
.
max_connect_errors при запуске сервера:
shell> mysqld_safe --max_connect_errors=10000 &
Значение может также быть установлено во времени выполнения:
mysql> SET GLOBAL max_connect_errors=10000;
Если Вы получаете сообщение об ошибке Host ' для данного хоста, Вы должны сначала проверить, что
нет ничего неправильного с соединениями TCP/IP от него. Если у Вас есть
сетевые проблемы, не стоит увеличивать
host_name
' is blockedmax_connect_errors
.
B.5.2.6. Too many connections
Too many connections, когда Вы
пытаетесь соединиться с mysqld
, это означает, что все доступные соединения
используются другими клиентами.max_connections.
Значение по умолчанию 151, чтобы улучшить работу, когда MySQL используется с
веб-сервером Apache. Ранее значение по умолчанию было 100. Если Вы должны
поддержать больше соединений, Вы должны установить большее значение
для этой переменной.
max_connections+1 клиентских соединений. Дополнительное соединение
сохранено для использования учетными записями, которые имеют привилегию
SUPER. Предоставляя
привилегию SUPER
администраторам, а не нормальным пользователям (кто не должен нуждаться в
этом), администратор может соединиться с сервером и использовать
SHOW PROCESSLIST, чтобы
диагностировать проблемы, даже если максимальное количество
непривилегированных клиентов соединено. См.
раздел 14.7.5.29.open-files-limit может быть необходимым. Также см.
раздел 2.5 для того, как поднять
ограничение операционной системы на то, сколько дескрипторов
может использоваться MySQL.B.5.2.7. Out of memory
mysql: Out of memory at line 42, 'malloc.c'
mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)
ERROR 2008: MySQL client ran out of memory
Чтобы исправить проблему, сначала проверьте, правилен ли Ваш запрос.
Действительно ли разумно, что это должно возвратить очень много строк? В
противном случае исправьте запрос и попробуйте еще раз. Иначе, Вы можете
вызвать mysql
с опцией --quick.
Это заставляет использовать функцию C API
mysql_use_result(),
чтобы получить набор результатов, которая меньше нагружает клиента
(но больше сервер).
B.5.2.8. MySQL server has gone away
Lost connection
to server during query.MySQL server has gone away
состоит в том, что сервер закрыл соединение по тайм-ауту. В этом
случае Вы обычно получаете один из следующих кодов ошибки.
Код ошибки Описание
CR_SERVER_GONE_ERRORКлиент не мог послать запрос на сервер.
CR_SERVER_LOSTКлиент не получал ошибку при обращении к серверу, но не получил полный
ответ (или любой ответ). wait_timeout
, когда Вы запускаете mysqld
. См. раздел
6.1.5.mysql.MySQL server has gone away:
KILL или
mysqladmin kill
.mysql_options(...,
MYSQL_OPT_READ_TIMEOUT,...) или
mysql_options(...,
MYSQL_OPT_WRITE_TIMEOUT,...).
В этом случае увеличение тайм-аута может помочь решить проблему.reconnect структуры
MYSQL равен 0).
wait_timeout) прежде, чем команда была выполнена.
mysql_ping() на соединении,
если прошло длительное время начиная с последнего запроса (так делает
Connector/ODBC) или установить
wait_timeout в
mysqld
настолько высоко, что это практически никогда не кончается.BLOB
), Вы можете увеличить предел запроса, устанавливая переменную
max_allowed_packet
, у которой есть значение по умолчанию 4 МБ. Вы, возможно, также
должны увеличить максимальный пакетный размер на конце клиента. Больше
информации об установке пакетного размера дано в
in разделе B.5.2.9.
INSERT или
REPLACE, которые вставляют очень
много строк, могут также вызвать эти виды ошибок. Любой из этих запросов
посылает единственную команду серверу независимо от числа строк, которые
будут вставлены, таким образом, Вы можете часто избегать ошибки, сокращая
количество строк, посланных INSERT
или REPLACE.MySQL server has gone away,
если MySQL запущен с опцией
--skip-networking
.
log_error_verbosity равной 3. Это регистрирует некоторые из
сообщений разъединения в файл hostname.err. См.
раздел 6.4.2.CHECK TABLE прежде, чем Вы
выполняли запрос, Вы можете обеспечить восстанавливаемый прецедент? См.
раздел 26.5.wait_timeout
сервера MySQL? mysqladmin
variables дает Вам значение этой переменной.B.5.2.9. Packet Too Large
max_allowed_packet байт, это порождает ошибку
ER_NET_PACKET_TOO_LARGE и завершает соединение. С некоторыми
клиентами Вы можете также получить ошибку Lost connection to MySQL
server during query, если коммуникационный пакет
является слишком большим.max_allowed_packet
так что, если Вы хотите обработать большие пакеты, Вы должны
увеличить эту переменную в клиенте и в сервере.max_allowed_packet
равно 16 MB. Чтобы установить большее значение, запустите
mysql так:
shell> mysql --max_allowed_packet=32M
Это устанавливает пакетный размер в 32 МБ.
max_allowed_packet равно 4 MB. Вы можете увеличить это, если
сервер должен обработать большие запросы (например, если Вы работаете с
большими столбцами BLOB). Например,
чтобы установить переменную в 16 МБ, запустите сервер так:
shell> mysqld --max_allowed_packet=16M
Вы можете также использовать файл опции, чтобы установить
max_allowed_packet
. Например, чтобы установить размер для сервера в 16 МБ, добавьте
следующие строки в файле опций:
[mysqld]
max_allowed_packet=16M
Безопасно увеличить значение этой переменной, потому что дополнительная
память выделена только при необходимости. Например,
mysqld
выделяет больше памяти только, когда Вы запускаете длинный запрос или когда
mysqld
должен возвратить большую строку результата. Маленькое значение по умолчанию
переменной предосторожность, чтобы поймать неправильные пакеты между клиентом
и сервером, а также гарантировать, что Вы не исчерпываете память при
использовании больших пакетов случайно.
BLOB,
но не предоставили mysqld
доступ к достаточной памяти, чтобы обработать запрос.
Если Вы подозреваете, что дело обстоит именно так, попытайтесь добавить
ulimit -d 256000 в начале скрипта
mysqld_safe
и перезапустите mysqld
.B.5.2.10.
Коммуникационные ошибки и прерванные соединения
Aborted_ т
xxxConnection_errors_. См.
раздел 6.1.7.xxxhost_cache Performance Schema. См. разделы
9.12.4.2 и
23.9.16.1.log_error_verbosity
равной 3, Вы могли бы найти подобные этому сообщения в
Вашем журнале ошибок:
[Note] Aborted connection 854 to db: 'employees' user: 'josh'
Если клиент неспособен даже соединиться, сервер постепенно увеличивает
значение Aborted_connects
. Неудачные попытки соединения могут произойти
по следующим причинам:
connect_timeout
секунд, чтобы получить пакет. См.
раздел 6.1.5.Aborted_clients
и пишет в журнал ошибок сообщение Aborted connection.
Причина может быть следующей:mysql_close() при выходе.
wait_timeout или
interactive_timeout
секунд, не выпуская запросов серверу. См.
раздел 6.1.5.max_allowed_packet является слишком маленьким, или запросы
требуют большей памяти, чем Вы выделили для
mysqld. См.
раздел B.5.2.9.B.5.2.11. The table is full
B.5.2.12. Can't create/write to file
Can't create/write to file '\\sqla3fe_0.ism'.
Предыдущая ошибка типичное сообщение для Windows, сообщение в Unix подобно.
--tmpdir или добавить опцию к секции
[mysqld] Вашего файла опции. Например, чтобы определить каталог
C:\temp, используйте эти строки:
[mysqld]
tmpdir=C:/temp
Каталог C:\temp должен существовать и иметь достаточное
пространство для сервера MySQL. См.
раздел 5.2.6.
tmpdir.
shell> perror 28
OS error code28: No space left on device
Если Вы получаете ошибку следующего типа во время запуска, она указывает, что
файловая система или каталог, используемый для того, чтобы сохранить файлы с
данными, являются защищенными от записи. При условии, что ошибка при записи к
испытательному файлу, ошибка не серьезна и может
быть безопасно проигнорирована.
Can't create test file /usr/local/mysql/data/master.lower-test
B.5.2.13. Commands out of sync
Commands out of sync; you can't run this
command now в Вашем коде клиента Вы вызываете функции
клиента в неправильном порядке.mysql_use_result()
и пробуете выполнить новый запрос прежде, чем Вы вызвали
mysql_free_result().
Это может также произойти, если Вы пытаетесь выполнить два запроса, которые
возвращают данные без запроса
mysql_use_result()
или mysql_store_result()
между ними.B.5.2.14. Игнорирование пользователя
user, у которой был неверный пароль.Found wrong password for user
'some_user'@'some_host';
ignoring userB.5.2.15. Table 'tbl_name' doesn't exist
Table '
В некоторых случаях может случиться так, что таблица действительно
существует, но Вы обращаетесь к ней неправильно:
tbl_name' doesn't exist
Can't find file: 'tbl_name' (errno: 2)
SHOW TABLES. См.
раздел 14.7.5.B.5.2.16.
Can't initialize character set
MySQL Connection Failed: Can't initialize character set
У этой ошибки может быть любая из следующих причин:
charset_name
-DDEFAULT_CHARSET=
. См.
раздел 2.8.4.charset_name--character-sets-dir.B.5.2.17.
File Not Found и подобные ошибки
ERROR ', file_name' not found
(errno: 23)Can't open file: или любую другую ошибку с file_name
(errno: 24)errno 23 или
errno 24 от MySQL, это означает, что Вы не выделили достаточно
дескрипторов файла для сервера MySQL. Вы можете использовать
perror,
чтобы получить описание того, что означает код ошибки:
shell> perror 23
OS error code23:File table overflow
shell> perror 24
OS error code24:Too many open files
shell> perror 11
OS error code11:Resource temporarily unavailable
Проблема здесь состоит в том, что
mysqld пытается сохранить открытым слишком много
файлов одновременно. Вы можете или сказать
mysqld
не открывать очень много файлов сразу или увеличить число дескрипторов файла,
доступных mysqld
.
table_open_cache
(значение по умолчанию 64). Это, возможно, не полностью предотвращает
исчерпание дескрипторов файла, потому что при некоторых обстоятельствах
сервер может попытаться расширить размер кэша временно, как описано в
разделе 9.4.3.1. Сокращение значения
max_connections
также сокращает количество открытых файлов (значение по умолчанию 100).
--open-files-limit в
mysqld_safe или установить системную переменную
open_files_limit
. См. раздел 6.1.5.
Самый легкий способ установить эти значения состоит в том, чтобы добавить
опцию к Вашему файлу опций. См. раздел
5.2.6. Если у Вас есть старая версия
mysqld, которая не поддерживает установку
предела открытых файлов, Вы можете отредактировать скрипт
mysqld_safe
. Есть в нем закомментированная строка ulimit -n 256
. Вы можете удалить символ #, чтобы
раскомментировать эту строку, и изменить число 256, чтобы
определить количество дескрипторов файла, которые будут доступны для
mysqld.
--open-files-limit и ulimit могут
увеличить число дескрипторов файла, но только до предела, наложенного
операционной системой. Есть также жесткий предел,
который может быть переопределен, только если Вы запускаете
mysqld_safe
или mysqld
как root (только помните, что Вы также должны запустить
сервер с опцией --user
в этом случае так, чтобы он не продолжил работать как
root после того, как стартует). Если Вы должны увеличить предел
дескрипторов операционной системы на число описателей файла, доступных
каждому процессу, консультируйтесь с документацией для своей системы.B.5.2.18. Проблемы табличного повреждения
--myisam-recover-options, MySQL автоматически проверяет и
пытается восстановить таблицы MyISAM, если они отмечены как
'не закрыта должным образом' или 'отказ'. Если это происходит, MySQL пишет
запись в файл hostname.err: 'Warning: Checking table ...'
, которая сопровождается Warning: Repairing table, если
таблица должна быть восстановлена. Если Вы получаете много этих ошибок, без
mysqld
упавшего неожиданно как раз перед этим, то что-то тут не так и должно
быть исследовано далее.MyISAM, он
пишет дополнительную информацию в журнал ошибок, такую как имя и номер строки
исходного файла и список потоков, получающих доступ к таблице. Пример:
Got an error from thread_id=1, mi_dynrec.c:368. Это полезная
информация для включения в отчеты об ошибках.B.5.3. Проблемы администрирования
B.5.3.1. Проблемы с правами доступа
UMASK или UMASK_DIR может быть установлена
неправильно, когда mysqld
стартует. Например, MySQL мог бы выдать следующее
сообщение об ошибке, когда Вы составляете таблицу:
ERROR: Can't find file: 'path/with/
Значения по умолчанию file_name' (Errcode: 13)
UMASK и UMASK_DIR
0640 и 0750, соответственно. MySQL предполагает,
что значение для UMASK или UMASK_DIR восьмеричное,
если начинается с 0. Например, установка UMASK=0600 эквивалентна
UMASK=384 поскольку восьмеричное 0600 это десятичное 384.
UMASK, запустите
mysqld_safe
:
shell> UMASK=384# = 600 in octal
shell> export UMASK
shell> mysqld_safe &
0750. Чтобы изменить это поведение, установите
переменную UMASK_DIR. Если Вы устанавливаете это значение, новые
каталоги создаются с объединенным значением UMASK и
UMASK_DIR. Например, чтобы дать группе доступ ко всем новым
каталогам, запустите
mysqld_safe так:
shell> UMASK_DIR=504# = 770 in octal
shell> export UMASK_DIR
shell> mysqld_safe &
B.5.3.2. Как сбросить пароль root
root-пароль для MySQL, сервер не
требует пароля вообще для того, чтобы соединиться как root.
Однако, это небезопасно. Для инструкций по назначению пароля, см.
раздел 2.9.4.root-пароль и хотите изменить его, см. разделы
14.7.1.1 и
14.7.1.11.root-пароль ранее, но забыли его, Вы можете
назначить новый пароль. Следующие разделы обеспечивают инструкции для Windows
и Unix-подобных систем.B.5.3.2.1.
Сброс Root-пароля: Windows
'root'@'localhost'.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
C:\mysql-init.txt.--init-file
(обратите внимание, что наклонная черта влево в значении опции удвоена):
C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
C:\> mysqld --init-file=C:\\mysql-init.txt
Если Вы устанавливали MySQL в другое место, скорректируйте команду
cd.
--init-file
при запуске, изменяя пароль учетной записи 'root'@'localhost'.
--console
к команде mysqld
.
--defaults-file. Например:
C:\> mysqld
--defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
--init-file=C:\\mysql-init.txt
Соответствующяя установка
--defaults-file установка может быть найдена, используя
Services Manager: из меню Start выберите Control Panel
, Administrative Tools, Services. Найдите
службу MySQL в списке, щелкните правой кнопкой мыши по строке и выберите
Properties. Поле Path to executable содержит
установку
--defaults-file.C:\mysql-init.txt.root с новым паролем. Запустите сервер как обычно. Если Вы
выполняете сервер как службу, запустите его из окна Windows Services.B.5.3.2.2.
Сброс Root-пароля в Unix
'root'@'localhost'.mysql, Вы должны
войти в систему как mysql перед использованием инструкций.
Альтернативно, Вы можете войти в систему как root, но в этом
случае Вы должны запустить
mysqld с
опцией --user=mysql.
Если Вы запускаете сервер как root без использования
--user=mysql,
сервер может создать принадлежащие root файлы в каталоге данных,
такие как файлы системного журнала, и они могут вызвать связанные с доступом
проблемы для будущих запусков сервера. Если это произойдет, то Вы будете
должны исправить права доступа вручную.mysql)..pid, который содержит идентификатор процесса сервера.
Точное местоположение и название этого файла зависят от Вашего дистрибутива,
имени хоста, и конфигурации. Общие местоположения
/var/lib/mysql/, /var/run/mysqld/ и
/usr/local/mysql/data/. Вообще, у имени файла есть расширение
.pid и начинается имя с mysqld или с имени
хоста Вашей системы.
kill (не
kill -9) процессу
mysqld. Используйте фактический путь к .pid
в следующей команде:
shell> kill `cat /mysql-data-directory/host_name.pid`
Используйте обратные кавычки с командой cat. Они вызывают вывод
cat в команду kill.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
/home/me/mysql-init. Файл содержит пароль, так что не сохраняйте
его там, где он может быть считан другими пользователями. Если Вы не
зарегистрированы как mysql (пользователь выполнения сервера),
удостоверьтесь, что у файла есть права доступа для пользователя
mysql на чтение.--init-file:
shell> mysqld_safe --init-file=/home/me/mysql-init &
Сервер выполняет содержание файла, названного в опции
the
--init-file при запуске, изменяя пароль для
'root'@'localhost'./home/me/mysql-init.B.5.3.2.3.
Сброс Root-пароля: общие инструкции
--skip-grant-tables. Это позволяет любому соединиться без пароля и
со всеми привилегиями, и отключает команды управления учетными записями,
такие как ALTER USER и
SET PASSWORD. Поскольку это
небезопасно, стоит использовать
--skip-grant-tables в соединении с
--skip-networking
дабы воспрепятствовать тому, чтобы удаленные клиенты соединились.
--skip-grant-tables:
shell> mysql
mysql скажите серверу перезагрузтть таблицы
привилегий так, чтобы запросы управления учетными записями работали:
mysql> FLUSH PRIVILEGES;
Теперь смените пароль учетной записи 'root'@'localhost'.
Замените его паролем, который Вы хотите использовать.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
--skip-grant-tables и
--skip-networking
).B.5.3.3. Что делать, если MySQL падает
resolve_stack_dump
. См. раздел 26.5. Отметьте, что
значения переменных, написанные в журнале ошибок, возможно, не
всегда на 100% правильны.write() после каждого запроса SQL и перед
отчетом клиенту о результате. Это не так, если Вы работаете с опцией
--delay-key-write, тогда записаны файлы с данными, но не индексные
файлы. Это означает, что содержание файла с данными безопасно, даже если
mysqld
упадет, потому что операционная система гарантирует, что данные будут
записаны на диск. Вы можете вынудить MySQL сбросить все на диск после каждого
запроса SQL, запуская его с параметром
--flush.lockd), или Вы выполняете
много серверов с отключенной внешней блокировкой.ALTER TABLE
на восстановленной копии таблицы.MyISAM и перезапустите
mysqld. Это гарантирует, что Вы работаете из
чистого состояния. См. главу 6.fork_big.pl. Это расположено в
каталоге tests дистрибутива исходных текстов.-DWITH_DEBUG=1
CMake и пересоберите. С поддержкой отладки
отловить нужную информацию будет много легче. См.
раздел 26.5.
--skip-external-locking. На некоторых системах менеджер блокировок
lockd не работает должным образом, опция
--skip-external-locking говорит
mysqld не использовать внешнюю блокировку.
Это означает, что Вы не можете выполнить два сервера
mysqld в том
же самом каталоге данных, и что Вы должны быть осторожны, если используете
myisamchk
. Однако, может быть поучительно попробовать опцию как тест.
backtrace
info local
up
info local
up
info local
С gdb Вы можете также исследовать потоки
с помощью info threads и переключиться на определенный поток
командой thread , где
NN ID потока.VARCHAR (не
BLOB или
TEXT), Вы можете попытаться
изменить все VARCHAR на
CHAR с помощью
ALTER TABLE. Это вынуждает
MySQL использовать строки фиксированного размера. Строки фиксированного
размера занимают небольшое дополнительное место, но намного
более терпимы к повреждению.
B.5.3.4.
Как MySQL обрабатывает переполнение диска
MyISAM. Это также
применими к записи файлов двоичного журнала, за исключением того, что ссылки
на строки и записи здесь
означают события.REPAIR TABLE или
OPTIMIZE TABLE
или же когда индекс создается в пакете после
LOAD DATA INFILE или после
запроса ALTER TABLE. Все эти
запросы могут создать большие временные файлы, которые вызывают большие
проблемы для остальной части системы. Если диск становится полным, в то время
как MySQL делает любую из этих операций, это удаляет большие временные файлы
и отмечает таблицу как разрушенную. Исключение из этого:
ALTER TABLE,
старая таблица не меняется вообще.B.5.3.5. Где MySQL хранит временные файлы
TMPDIR
как путь к каталогу, в котором можно хранить временные файлы. Если
TMPDIR не задана, MySQL использует системное значение по
умолчанию, которое обычно является /tmp, /var/tmp
или /usr/tmp.TMPDIR, TEMP и TMP. Найдя первую,
которая установлена, MySQL использует ее и не проверяет те, которые остаются.
Если ни одна из TMPDIR, TEMP или TMP
не установлены, MySQL использует системное значение по умолчанию Windows,
которое обычно является C:\windows\temp\.--tmpdir, чтобы
определить каталог в файловой системе, где у Вас есть достаточно
пространства. На ведомых устройствах репликации Вы можете использовать
--slave-load-tmpdir, чтобы определить отдельный каталог для
хранения временных файлов для обработки запросов
LOAD DATA INFILE.--tmpdir
может быть установлена в список из нескольких путей, которые используются
круговым способом. Пути должны быть отделены символами двоеточия
(:) в Unix и символом точки с запятой (;) в Windows.
--slave-load-tmpdir не на каталог, который находится в основанной
на памяти файловой системе или каталог, который очищен, когда хост сервера
перезапускается. Ведомое устройство нуждается в некоторых из своих временных
файлов, чтобы пережить машинный перезапуск так, чтобы оно могло копировать
временные таблицы или операции LOAD DATA
INFILE. Если файлы в ведомом временном каталоге потеряны, когда
сервер перезапускается, репликация терпит неудачу.ORDER BY или GROUP BY) MySQL обычно
использует один или два временных файла. Максимальное требуемое дисковое
пространство определено следующим выражением:
(длина того, что сортируется + sizeof(Размер указателя строки)) *
число соответствующих строк * 2
Размер указателя строки обычно четыре байта, но может вырасти в будущем
для действительно больших таблиц.
SELECT запросов
MySQL также составляет временные таблицы SQL. Они не скрыты и имеют
названия формы SQL_*.ALTER TABLE
создает временную копию оригинальной таблицы в том же самом
каталоге, где оригинальная таблица.Где InnoDB хранит временные файлы
InnoDB сохранены во временном файле
табличного пространства ibtmp1, который расположен в каталоге
MySQL data (по умолчанию
datadir). Опция
innodb_temp_data_file_path может использоваться при запуске, чтобы
определить иное имя файла и местоположение.ALTER TABLE на
таблице InnoDB использует метод ALGORITHM=COPY,
InnoDB создает временную копию таблицы в том же самом каталоге,
где оригинальная таблица. Временные табличные имена файла начинаются с
префикса #sql- и появляется кратко только во время выполнения
ALTER TABLE.ALTER TABLE
восстанавливает таблицц InnoDB, используя метод
ALGORITHM=INPLACE (online DDL), InnoDB создает
промежуточную копию таблицы в том же самом каталоге,
где и оригинальная таблица. Промежуточные табличные имена файла начинаются с
префикса #sql-ib.ALTER TABLE, которые
восстанавливают таблицы InnoDB, используя метод
ALGORITHM=INPLACE (online DDL) также создают временные файлы
сортировки во временном каталоге MySQL ($TMPDIR в Unix,
%TEMP% в Windows, или каталоге, определенном опцией
--tmpdir). Если
временный каталог не является достаточно большим, чтобы содержать такие
файлы, Вы, возможно, должны реконфигурировать
tmpdir.
Альтернативно, Вы можете определить отдельный временный каталог для
InnoDB операций ALTER
TABLE, используя опцию
innodb_tmpdir. Эта опция была введена, чтобы помочь избежать
временных переполнений каталога, которые могли произойти в результате больших
временных файлов, создаваемых во время
ALTER TABLE.
innodb_tmpdir
может быть сконфигурирована динамически, используя команды
SET GLOBAL или
SET SESSION.innodb_tmpdir
неприменима к промежуточным табличным файлам, которые всегда создаются в
том же самом каталоге, где оригинальная таблица.innodb_tmpdir,
если у всех серверов есть та же самая окружающая среда операционной системы.
Иначе, мультиплицирование
innodb_tmpdir
может привести к отказу операций
ALTER TABLE. Если операционные
среды серверов отличаются, рекомендуется сконфигурировать
innodb_tmpdir
на каждом сервере индивидуально.B.5.3.6.
Как защитить или изменить файл сокета Unix MySQL
/tmp/mysql.sock. Для некоторых форматов дистрибутивов каталог
может отличаться, например, /var/lib/mysql для RPM./tmp или другом подобном каталоге, который используется для
временных файлов. Если файл сокета расположен в таком каталоге в Вашей
системе, это могло бы вызвать проблемы./tmp так, чтобы файлы могли быть удалены только их владельцами
или суперпользователем (root). Чтобы сделать это, установите
бит sticky каталогу /tmp, войдя в систему как
root и применив такую команду:
shell> chmod +t /tmp
Вы можете проверить установлен ли бит sticky, выполняя команду
ls -ld /tmp. Если последний символ прав доступа
t, значит бит установлен.
/etc/my.cnf:
[mysqld]
socket=/path/to/socket
[client]
socket=/path/to/socket
--socket в командной строке
mysqld_safe, когда Вы
выполняете программы клиента.MYSQL_UNIX_PORT в путь к
файлу сокета Unix.
MYSQL_UNIX_ADDR, когда Вы выполняете CMake
. См. раздел 2.8.4
.
shell> mysqladmin --socket=/path/to/socket version
B.5.3.7. Проблемы с зонами времени
SELECT NOW(), возвращающем
значения в UTC, а не Вашем местном времени, Вы должны сказать серверу свою
зону текущего времени. То же самое применяется, если
UNIX_TIMESTAMP()
возвращает неправильное значение. Это должно быть сделано для среды, в
которой работает сервер, например, в
mysqld_safe
или mysql.server
. См. раздел
5.9.--timezone=
при вызове
mysqld_safe
. Вы можете также установить это, устанавливая переменную окружения
timezone_nameTZ прежде, чем Вы запустите
mysqld.--timezone
или TZ зависят от ОС. Консультируйтесь со своей
документацией на операционную систему, чтобы видеть, какие
значения являются приемлемыми.B.5.4. Связанные с запросом проблемы
B.5.4.1. Чувствительность к регистру в поиске строки
CHAR,
VARCHAR,
TEXT) поиски строки используют
сопоставление операндов сравнения. Для двоичных строк
(BINARY,
VARBINARY,
BLOB) сравнения используют числовые
значения байтов в операндах, это означает, что для буквенных символов
сравнения будут чувствительными к регистру.>=, >, =, <, <=,
сортировка и группировка) основаны на сортировочном значении
каждого символа. Символы с тем же самым сортировочным значением обработаны
как тот же самый символ. Например, если e и ц╘
имеют то же самое значение сортировки в данном сопоставлении, они
сравниваются как равные.latin1 и
latin1_swedish_ci, таким образом, небинарные строковые сравнения
являются нечувствительными к регистру по умолчанию. Это означает что, если Вы
ищете с , Вы получаете
все значения столбцов, которые начинаются с col_name LIKE 'a%'A или a
. Чтобы сделать этот поиск чувствительным к регистру, удостоверьтесь,
что у одного из операндов есть чувствительное к регистру или двоичное
сопоставление. Например, если Вы сравниваете столбец и строку, которые оба
имеют набор символов latin1, Вы можете использовать оператор
COLLATE, чтобы заставить любой операнд иметь сопоставление
latin1_general_cs или latin1_bin:
Если Вы хотите, чтобы столбец всегда был обработан чувствительным к регистру
способом, объявите его чувствительным к регистру или двоичным. См.
раздел 14.1.15.
col_name COLLATE latin1_general_cs LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_general_cs
col_name COLLATE latin1_bin LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_bin
COLLATE с именем
сопоставления, нечувствительного к регистру. Строки в следующем примере
обычно являются чувствительными к регистру, но COLLATE изменяет
сравнение, чтобы быть нечувствительным к регистру:
mysql> SET @s1 = 'MySQL' COLLATE latin1_bin,
-> @s2 = 'mysql' COLLATE latin1_bin;
mysql> SELECT @s1 = @s2;
+-----------+
| @s1 = @s2 |
+-----------+
| 0 |
+-----------+
mysql> SELECT @s1 COLLATE latin1_swedish_ci = @s2;
+-------------------------------------+
| @s1 COLLATE latin1_swedish_ci = @s2 |
+-------------------------------------+
| 1 |
+-------------------------------------+
Двоичная строка является чувствительной к регистру в сравнениях. Чтобы
сравнить строку как нечувствительную к регистру, преобразуйте ее в небинарную
строку и используйте COLLATE, чтобы указать
нечувствительное к регистру сопоставление:
mysql> SET @s = BINARY 'MySQL';
mysql> SELECT @s = 'mysql';
+--------------+
| @s = 'mysql' |
+--------------+
| 0 |
+--------------+
mysql> SELECT CONVERT(@s USING latin1) COLLATE latin1_swedish_ci = 'mysql';
+--------------------------------------------------------------+
| CONVERT(@s USING latin1) COLLATE latin1_swedish_ci = 'mysql' |
+--------------------------------------------------------------+
| 1 |
+--------------------------------------------------------------+
Чтобы определить, сравнится ли значение как недвоичная или двоичная строка,
используйте функцию COLLATION()
. Этот пример показывает, что
VERSION() возвращает
строку, у которой есть нечувствительное к регистру сопоставление, таким
образом, сравнения являются нечувствительными к регистру:
mysql> SELECT COLLATION(VERSION());
+----------------------+
| COLLATION(VERSION()) |
+----------------------+
| utf8_general_ci|
+----------------------+
Для двоичных строк значение сопоставления binary, таким образом,
сравнения будут чувствительными к регистру. Один контекст, в котором Вы
будете видеть binary, это для сжатия и функций шифрования,
которые возвращают двойные строки как правило:
mysql> SELECT COLLATION(ENCRYPT('x')), COLLATION(SHA1('x'));
+-------------------------+----------------------+
| COLLATION(ENCRYPT('x')) | COLLATION(SHA1('x')) |
+-------------------------+----------------------+
| binary | binary |
+-------------------------+----------------------+
Чтобы проверить значение сортировки строки, можно применить функцию
WEIGHT_STRING().
См. раздел 13.5.
B.5.4.2. Проблемы со столбцами DATE
DATE
'YYYY-MM-DD'. Согласно стандарту SQL, не разрешен никакой другой
формат. Вы должны использовать этот формат в выражениях
UPDATE и предложениях
WHERE оператора
SELECT. Например:
SELECT * FROM t1 WHERE date >= '2003-05-05';
Как удобство, MySQL автоматически преобразовывает дату в число, если дата
используется в числовом контексте и наоборот. MySQL также разрешает
строковый формат при обновлении и в предложении WHERE, который
сравнивает дату со столбцами DATE
, DATETIME или
TIMESTAMP. Этот формат
означает, что любой символ пунктуации может использоваться в качестве
разделителя между частями. Например, '2004-08-15' эквивалентно
'2004#08#15'. MySQL может также преобразовать строку, не
содержащую разделителей (например, '20040815'), если это имеет
смысл как дата.
DATE,
TIME,
DATETIME или
TIMESTAMP с постоянной строкой
с помощью операторов <, <=,
=, >=, > или
BETWEEN, MySQL обычно преобразовывает строку во внутреннее
длинное целое для более быстрого сравнения. Однако, это преобразование
подвергается следующим исключениям:DATE
, TIME,
DATETIME или
TIMESTAMP с выражением.IN или
STRCMP().'0000-00-00' может быть
сохранена и получена как '0000-00-00'. Когда дата
'0000-00-00' используется через Connector/ODBC, она
автоматически преобразована в NULL, потому что ODBC не может
обработать такую дату.idate столбец типа
DATE):
INSERT INTO t1 (idate) VALUES (19970505);
INSERT INTO t1 (idate) VALUES ('19970505');
INSERT INTO t1 (idate) VALUES ('97-05-05');
INSERT INTO t1 (idate) VALUES ('1997.05.05');
INSERT INTO t1 (idate) VALUES ('1997 05 05');
INSERT INTO t1 (idate) VALUES ('0000-00-00');
SELECT idate FROM t1 WHERE idate >= '1997-05-05';
SELECT idate FROM t1 WHERE idate >= 19970505;
SELECT MOD(idate,100) FROM t1 WHERE idate >= 19970505;
SELECT idate FROM t1 WHERE idate >= '19970505';
Однако, следующий запрос не работает:
SELECT idate FROM t1 WHERE STRCMP(idate,'20030505')=0;
STRCMP()
строковая функция, таким образом, это преобразовывает idate в
строку в формате 'YYYY-MM-DD' и выполняет строковое сравнение.
Это не преобразовывает '20030505' в дату '2003-05-05'
и выполняет сравнение даты.
ALLOW_INVALID_DATES
, MySQL разрешает Вам хранить даты, которые прошли только
ограниченную проверку: MySQL требует только, чтобы день был в диапазоне от 1
до 31, и месяц находится в диапазоне от 1 до 12. Это делает MySQL очень
удобным для Веб-приложений, где Вы получаете год, месяц и день в трех
различных полях и хотите сохранить точно, что пользователь вставил (без
проверки допустимости даты).DATE и знаете только часть
даты. Чтобы отвергнуть нулевые части месяца или дня в датах, включите режим
NO_ZERO_IN_DATE
.'0000-00-00'). Это в некоторых случаях более удобно, чем
использование значений NULL. Если дата, которая будет сохранена
в столбце DATE не может быть
преобразована ни в какое разумное значение, MySQL запишет
'0000-00-00'. Чтобы запретить '0000-00-00',
включите режим NO_ZERO_DATE
.IGNORE) можно, задав системной
переменной sql_mode
значение "NO_ZERO_IN_DATE,NO_ZERO_DATE".B.5.4.3. Проблемы со значениями NULL
NULL общий источник беспорядка для новичков
в SQL, которые часто думают, что NULL та же самая вещь, что и
пустая строка ''. Дело обстоит не так. Например, следующие
запросы абсолютно отличаются:
mysql> INSERT INTO my_table (phone) VALUES (NULL);
mysql> INSERT INTO my_table (phone) VALUES ('');
Оба запроса вставляют значение в столбец phone, но первый
вставляет значение NULL, а второй пустую строку. Значение
первого может быть расценено как "номер телефона неизвестен", а
второго как "человек, как известно, не имеет никакого телефона, и таким
образом никакого телефонного номера". Разница есть?
NULL Вы можете использовать операторы
IS NULL и
IS NOT NULL, а
также функцию IFNULL().
NULL никогда не истина по сравнению с любым
другим значением, даже с NULL. Выражение, которое содержит
NULL всегда производит NULL, если иное не
обозначено явно в документации для операторов и функций, вовлеченных в
выражение. Все столбцы в следующем примере будут NULL:
mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL);
Чтобы искать значения столбцов, которые являются NULL, Вы не
можете использовать тест expr = NULL. Следующее выражение не
возвращает строк, потому что expr = NULL никогда не истина
для любого выражения:
mysql> SELECT * FROM my_table WHERE phone = NULL;
Чтобы найти значения NULL, Вы должны использовать тест
IS NULL. Следующие
запросы показывают, как найти телефонный номер NULL
и пустой номер телефона:
mysql> SELECT * FROM my_table WHERE phone IS NULL;
mysql> SELECT * FROM my_table WHERE phone = '';
NULL, если Вы используете механизм хранения
MyISAM, InnoDB или MEMORY. Иначе Вы
должны объявить индексированный столбец NOT NULL и Вы не можете
вставить в него NULL.LOAD DATA INFILE пустые или
недостающие столбцы обновлены с значением ''. Чтобы загрузить
значение NULL в столбец, используйте в файле данных
\N. Буквальное слово NULL также может
использоваться при некоторых обстоятельствах. См.
раздел 14.2.6.DISTINCT, GROUP BY или ORDER
BY, все значения NULL расценены как равные.ORDER BY, значения NULL представлены
сначала, или последними, если Вы определяете DESC.COUNT()
, MIN() и
SUM()) значения
NULL игнорируют. Исключение:
COUNT(*), которая считает строки, а не отдельные значения
столбцов. Например, следующий запрос производит два результата. Первым
является количество строк в таблице, вторым является количество значений
не-NULL в столбце age:
mysql> SELECT COUNT(*), COUNT(age) FROM person;
NULL
особенны. Если Вы вставляете NULL в столбец
TIMESTAMP, реально вставятся
текущие дата и время. Если Вы вставляете NULL в столбец целого
числа или с плавающей запятой, который имеет атрибут AUTO_INCREMENT
, следующее число в последовательности будет вставлено.B.5.4.4.
Проблемы с псевдонимами столбцов
GROUP BY, ORDER BY
или HAVING, чтобы обратиться к столбцу:
SELECT SQRT(a*b) AS root FROM
Стандартный SQL отвергает ссылки на псевдонимы столбца в предложении
tbl_name
GROUP BY root HAVING root > 0;
SELECT id, COUNT(*) AS cnt FROM tbl_name
GROUP BY id HAVING cnt > 0;
SELECT id AS 'Customer identity' FROM tbl_name;
WHERE. Это ограничение введено потому, что когда
WHERE оценивается, значение столбца еще не могло быть
определено. Например, следующий запрос незаконен:
SELECT id, COUNT(*) AS cnt FROM
Предложение tbl_name
WHERE cnt > 0 GROUP BY id;
WHERE определяет, какие строки должны быть включены
в предложение GROUP BY, но это обращается к псевдониму значения
столбца, которое неизвестно, пока строки не будут выбраны и сгруппированы с
помощью GROUP BY.
SELECT 1 AS `one`, 2 AS 'two';
В другом месте в запросе заключенные в кавычки ссылки на псевдоним должны
использовать заключение в кавычки идентификатора, или ссылка будет обработана
как буквальная строка. Например, этот запрос группирует значения в столбце
id, на который ссылаются, псевдонимом `a`:
SELECT id AS 'a', COUNT(*) AS cnt FROM
Но этот запрос группирует буквальной строкой tbl_name
GROUP BY `a`;
'a' и не будет
работать как ожидалось:
SELECT id AS 'a', COUNT(*) AS cnt FROM
tbl_name
GROUP BY 'a';
B.5.4.5.
Проблема с отменой для нетранзакционных таблиц
ROLLBACK, это означает, что одна
или больше таблиц, которые Вы использовали, не поддерживают транзакции:
Warning: Some non-transactional changed tables couldn't be rolled back
Эти таблицы не затронуты командой ROLLBACK
.
MyISAM, которая является нетранзакционной.
SHOW TABLE STATUS LIKE '
См. разделы 14.7.5.36 и
14.7.5.10.
tbl_name';
SHOW CREATE TABLE tbl_name;
SHOW ENGINES;
См. раздел 14.7.5.16.
B.5.4.6.
Удаление строк из связанных таблиц
DELETE
для related_table превышает 1MB (значение по умолчанию системной
переменной
max_allowed_packet), Вы должны разделить это на меньшие части и
выполнить много запросов DELETE.
Вы, вероятно, получаете самый быстрый DELETE
определяя только от 100 до 1000 значений
related_column в запросе, если related_column
индексирован. Если related_column не индексирован, скорость
независима от числа параметров в IN.B.5.4.7.
Решение проблем с несоответствием строк
EXPLAIN, чтобы выяснить, можете ли Вы найти что-то очевидно
неправильное. См. раздел 14.8.2.WHERE.LIMIT 10 с этим запросом.SELECT для столбца,
который должен был соответствовать строке таблицы, которая была последней
удалена из запроса.FLOAT или
DOUBLE с
десятичными числами, Вы не можете использовать равенство
(=). Эта проблема распространена в большинстве машинных языков,
потому что не все значения с плавающей запятой могут быть сохранены точно.
В некоторых случаях изменение
FLOAT на DOUBLE
поправит дело. См.
раздел B.5.4.8.mysql test <
query.sql, это показывает Ваши проблемы. Вы можете создать
испытательный файл, выводя таблицы с
mysqldump --quick db_name
tbl_name_1 ... tbl_name_n >
query.sql. Откройте файл в редакторе, удалите некоторые
строки (если там более, чем необходимо, чтобы продемонстрировать проблему),
и добавьте Ваш запрос SELECT в
конце тестового файла.
shell> mysqladmin create test2
shell> mysql test2 < query.sql
Присоедините испытательный файл к отчету об ошибках, который Вы можете
зарегистрировать, используя инструкции в
разделе 1.7.B.5.4.8.
Проблемы со значениями с плавающей запятой
FLOAT и
DOUBLE
подвергаются этим проблемам. Для столбцов
DECIMAL MySQL
выполняет операции с точностью 65 десятичных цифр, которые должны решить
наиболее распространенные проблемы погрешности.DOUBLE показывает,
как вычисления, которые сделаны, используя операции с плавающей запятой,
приводят к ошибке с плавающей запятой.
mysql> CREATE TABLE t1 (i INT, d1 DOUBLE, d2 DOUBLE);
mysql> INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.00),
-> (2, 0.00, 0.00), (2, -13.20, 0.00), (2, 59.60, 46.40),
-> (2, 30.40, 30.40), (3, 37.00, 7.40), (3, -29.60, 0.00),
-> (4, 60.00, 15.40), (4, -10.60, 0.00), (4, -34.00, 0.00),
-> (5, 33.00, 0.00), (5, -25.80, 0.00), (5, 0.00, 7.20),
-> (6, 0.00, 0.00), (6, -51.40, 0.00);
mysql> SELECT i, SUM(d1) AS a, SUM(d2) AS b
-> FROM t1 GROUP BY i HAVING a <> b;
+--+------+------+
| i| a | b |
+--+------+------+
|1 | 21.4 | 21.4 |
|2 | 76.8 | 76.8 |
|3 | 7.4 | 7.4 |
|4 | 15.4 | 15.4 |
|5 | 7.2 | 7.2 |
|6 |-51.4 | 0 |
+--+------+------+
Результат правилен. Хотя первые пять записей, похоже, не должны удовлетворить
сравнение (значения a и b не отличаются), они могут
сделать это, потому что различие между числами обнаруживается после десятого
знака или в зависимости от факторов, таких как архитектура системы, версия
компилятора или уровень оптимизации. Например, различные центральные
процессоры могут оценить числа с плавающей запятой по-другому.
d1 и d2 определены как
DECIMAL вместо
DOUBLE,
результат запроса SELECT
содержал бы только одну строку: последнюю из показанных выше.
mysql> SELECT i, SUM(d1) AS a, SUM(d2) AS b FROM t1
-> GROUP BY i HAVING ABS(a - b) > 0.0001;
+--+-------+---+
| i| a | b |
+--+-------+---+
|6 | -51.4 | 0 |
+--+-------+---+
1 row in set (0.00 sec)
Наоборот, чтобы получить строки, где числа те же самые, тест должен найти
различия в пределах значения терпимости:
mysql> SELECT i, SUM(d1) AS a, SUM(d2) AS b FROM t1
-> GROUP BY i HAVING ABS(a - b) <= 0.0001;
+--+------+------+
| i| a | b |
+--+------+------+
|1 | 21.4 | 21.4 |
|2 | 76.8 | 76.8 |
|3 | 7.4 | 7.4 |
|4 | 15.4 | 15.4 |
|5 | 7.2 | 7.2 |
+--+------+------+
5 rows in set (0.03 sec)
Значения с плавающей запятой подвергаются зависимостям от среды выполнения
или платформы. Предположите, что Вы выполняете следующие запросы:
CREATE TABLE t1(c1 FLOAT(53,0), c2 FLOAT(53,0));
INSERT INTO t1 VALUES('1e+52','-1e+52');
SELECT * FROM t1;
На некоторых платформах SELECT вернет inf и
-inf. На других это возвращает
0 и -0.
B.5.5. Проблемы с оптимизацией запросов
EXPLAIN
, чтобы получить информацию о том, как MySQL обрабатывает запрос.
Чтобы использовать это, только добавьте ключевое слово
EXPLAIN в начало Вашего
запроса SELECT:
mysql> EXPLAIN SELECT * FROM t1, t2 WHERE t1.i = t2.i;
ANALYZE TABLE ,
чтобы обновить ключевые распределения для просмотренной таблицы. См.
раздел 14.7.2.1.tbl_nameFORCE INDEX, чтобы сказать MySQL, что
сканирование таблицы очень дорого по сравнению с использованием индекса:
SELECT * FROM t1, t2 FORCE INDEX (index_for_column)
WHERE t1.col_name=t2.col_name;
USE INDEX и IGNORE INDEX также могут быть полезны.
См. раздел 9.9.4.STRAIGHT_JOIN. См.
раздел 14.2.9.--max-seeks-for-key=1000
или используйте SET max_seeks_for_key=1000, чтобы
сказать оптимизатору предположить, что никакой ключевой просмотр не
просмотрит больше, чем 1000 ключей. См.
раздел 6.1.5.B.5.6. Проблемы определения таблиц
B.5.6.1. Проблемы с ALTER TABLE
ALTER TABLE, чтобы изменить
набор символов или сопоставление символьного столбца, причина в том, что
новое сопоставление столбца отображает два ключа на то же самое значение или
таблица повреждена. В последнем случае Вы должны запустить
REPAIR TABLE на таблице.
REPAIR TABLE работает для
таблиц MyISAM, ARCHIVE и CSV.ALTER TABLE
на транзакционной таблице или если Вы используете Windows,
ALTER TABLE разблокирует
таблицу, если Вы сделали LOCK TABLE
для нее. Это сделано потому что InnoDB и эти
операционные системы не могут удалить таблицу, которая используется.B.5.6.2.
Проблемы с таблицами TEMPORARY
TEMPORARY:TEMPORARY может иметь типы только
MEMORY, MyISAM,
MERGE или InnoDB.TEMPORARY
несколько раз в том же самом запросе. Например, следующее не работает:
mysql> SELECT * FROM temp_table, temp_table AS t2;
ERROR 1137: Can't reopen table: 'temp_table'
Эта ошибка также происходит, если Вы обращаетесь к временной таблице
многократно в сохраненной функции под различными псевдонимами, даже если
ссылки происходят в различных запросах в пределах функции.SHOW TABLES
не перечисляет таблицы TEMPORARY.RENAME, чтобы переименовать
таблицу TEMPORARY. Однако, Вы можете использовать
ALTER TABLE:
mysql> ALTER TABLE orig_name RENAME new_name;
ERROR 1137: Can't reopen table: '
temp_table'
B.5.7. Известные проблемы в MySQL
IN не столь
эффективна, как для =.lower_case_table_names=2
(что позволяет MySQL помнить случай, используемый для баз данных и имен
таблиц), MySQL не помнит случай, используемый для имен базы данных для
функции DATABASE()
или в разных журналах (на нечувствительных к регистру системах).FOREIGN KEY не работает в репликации,
потому что у ограничения может быть другое имя на ведомом устройстве.REPLACE (и
LOAD DATA с опцией
REPLACE) не вызывает триггер
ON DELETE CASCADE.DISTINCT с ORDER BY не работает внутри
GROUP_CONCAT(),
если Вы не используете все и только те столбцы, которые
находятся в списке DISTINCT.CREATE
TABLE ... SELECT или INSERT
... SELECT, которые вставляют ноль или значение
NULL в столбец AUTO_INCREMENT.DELETE, если Вы удаляете строки
из таблицы, у которой есть внешние ключи со свойством
ON DELETE CASCADE.REPLACE ... SELECT,
INSERT IGNORE ... SELECT, если у Вас есть двойные значения ключа
во вставленных данных.ORDER BY, гарантирующего детерминированный порядок
.INSERT ...
SELECT без ORDER BY
SELECT может возвратить строки в
разном порядке, в зависимости от выбора, сделанного оптимизаторами на
ведущем и ведомом устройствах. Приведет это к разным значениями в столбце
AUTO_INCREMENT на разных системах.InnoDB на ведущем, но MyISAM на ведомом, если у
ведомого устройства есть меньше доступного дискового пространства.key_buffer_size
и т.п. на ведущем и ведомом устройствах по-разному.ORDER BY к вышеупомянутым недетерминированным запросам, чтобы
гарантировать, что строки всегда сохранены или изменяются в том же самом
порядке. Использование основанного на строке или смешанного формата
журналирования также избегает проблемы.
--log-bin=.
См. раздел 6.1.4. Альтернативно,
переименуйте старые файлы, чтобы отразить Ваше изменение имени хоста. Если
они двоичные журналы, Вы должны отредактировать индексный файл журнала и
установить имена файлов системного журнала также и там.old_host_name-binLOAD DATA INFILE. См.
раздел 5.6.8.RENAME не работает с таблицами TEMPORARY или с
таблицами, примененными в MERGE.SET CHARACTER SET, Вы не можете использовать
преобразованные символы в именах базы данных, таблицы и столбцов._ или % с
ESCAPE в LIKE ... ESCAPE
.max_sort_length
байт, сравнивая значения данных. Это означает, что значения не могут
достоверно использоваться в GROUP BY,
ORDER BY или DISTINCT, если они отличаются только
после первых
max_sort_length байтов. Чтобы обойти это, увеличьте значение
переменной. Значение по умолчанию 1024, оно может быть изменено во время
запуска или выполнения сервера.BIGINT или
DOUBLE
(оба обычно 64 бита длиной). Точность, которую Вы получаете, зависит от
функции. Общее правило состоит в том, что разрядные функции выполнены с
BIGINT,
IF() и
ELT() с
BIGINT или
DOUBLE, а остальные
с DOUBLE. Вы должны
попытаться избегать использования значений unsigned long long, если они могут
быть больше, чем 63 бита (9223372036854775807) для чего-нибудь,
кроме битовых полей.ENUM
и SET в одной таблице.
MIN(),
MAX() и других совокупных
функциях MySQL в настоящее время сравнивает столбцы
ENUM и
SET их строковым значением, а не
относительной позицией строки в наборе.UPDATE столбцы обновлены
слева направо. Если Вы обращаетесь к обновленному столбцу, Вы получаете
обновленное значение вместо оригинального значения. Например, следующии
запрос увеличивает KEY на 2, а
не на 1:
mysql> UPDATE
tbl_name SET KEY=KEY+1,KEY=KEY+1;
mysql> SELECT * FROM temp_table, temp_table AS t2;
ERROR 1137: Can't reopen table: 'temp_table'
DISTINCT по-другому, когда Вы
используете столбцы hidden в join. В join столбцы
hidden посчитаны как часть результата (даже если их не показывают), тогда как
в нормальных запросах, такие столбцы не участвуют в сравнении DISTINCT
.
SELECT DISTINCT mp3id FROM band_downloads WHERE userid = 9 ORDER BY id DESC;
и
SELECT DISTINCT band_downloads.mp3id FROM band_downloads, band_mp3
WHERE band_downloads.userid = 9 AND
band_mp3.id = band_downloads.mp3id ORDER BY band_downloads.id DESC;
Во втором случае Вы можете получить две идентичных строки в наборе
результатов (потому что значения в скрытом столбце
id могут отличаться).
ORDER BY в результате.PROCEDURE на запросе, который возвращает
пустой набор, в некоторых случаях PROCEDURE
не преобразовывает столбцы.MERGE не проверяет, являются ли
основные таблицы совместимыми типами.ALTER TABLE
, чтобы добавить UNIQUE индекс к таблице,
используемой в таблице MERGE и затем добавляете нормальный
индекс к таблице MERGE, ключевой порядок отличается для таблиц,
если были старые, не-UNIQUE ключи в таблице. Это потому, что
ALTER TABLE помещает индексы
UNIQUE прежде нормальных, чтобы быть в состоянии обнаружить
дубликаты ключа как можно раньше.
| Найди своих коллег! |
Вы можете
направить письмо администратору этой странички, Алексею Паутову.
![]()