Unspecified fatal error encountered aborting

MySQL фатальная ошибка во время запроса information_schema (программное обеспечение вызвало прерывание соединения) Я использую базу данных MySQL (5.6) широко через свой .NET-коннектор (6.8.3). Все таблицы создаются с помощью механизма MyISAM по соображениям производительности. У меня есть только один процесс с одним потоком, который обращается к БД последовательно, поэтому нет необходимости в транзакциях и concurrency. […]

Содержание

  1. MySQL фатальная ошибка во время запроса information_schema (программное обеспечение вызвало прерывание соединения)
  2. Tales From A Lazy Fat DBA
  3. Its all about Databases & their performance, troubleshooting & much more …. ¯_(ツ)_/¯
  4. Likes
  5. MYSQL startup error: [ERROR] Fatal error: mysql.user table is damaged.
  6. Unspecified fatal error encountered aborting mysql workbench
  7. Comments

MySQL фатальная ошибка во время запроса information_schema (программное обеспечение вызвало прерывание соединения)

Я использую базу данных MySQL (5.6) широко через свой .NET-коннектор (6.8.3). Все таблицы создаются с помощью механизма MyISAM по соображениям производительности. У меня есть только один процесс с одним потоком, который обращается к БД последовательно, поэтому нет необходимости в транзакциях и concurrency.

Обратите внимание: это вряд ли будет проблемой конфигурации тайм-аута, потому что мой запрос тривиален. Я прочитал все связанные с таймаутом вопросы (ссылки ниже). Конечно, я могу ошибаться, но говорю просто “увеличить параметр net_write_timeout”, не объясняя, почему именно это может быть актуальным здесь, не является ответом.

Некоторые из моих таблиц динамически создаются во время выполнения программы, поэтому я использую create на первом идиоме использования, со следующим методом, чтобы проверить, существует ли таблица:

Запрос внутри existsCommand выглядит следующим образом (разбивается на две строки для читаемости):

Значение переменной this.existsCommand.Parameters[«@tableName»].Value содержит правильное имя таблицы, которое уже существует в этом случае ( «sample_matches_A_to_A_x» ).

Метод this.connectionPool.Take() возвращает первый объект MySqlConnection из моей коллекции доступных подключений, которая соответствует следующему предикату:

Обычно это работает правильно, в течение нескольких часов, а затем неожиданно возникает исключение в этой строке:

Со следующим содержимым:

Неустранимая ошибка при выполнении команды

в MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(поведение CommandBehavior)

в реализации .SampleMatchesMySqlTable.TableExists(Space baseSpace, Space extendedSpace) в C:…SampleMatchesMySqlTable.cs: строка 168

Невозможно записать данные в транспортное соединение: программное обеспечение вызвало прерывание соединения.

Программное обеспечение вызвало прерывание соединения.

с ErrorCode равным 10053 , а SocketErrorCode – System.Net.Sockets.SocketError.ConnectionAborted

Трассировка стека самого внутреннего исключения:

в System.Net.Sockets.Socket.Send(буфер байта [], смещение Int32, размер Int32, флажок socketFlags SocketFlags)

в System.Net.Sockets.NetworkStream.Write(буфер Byte [], смещение Int32, размер Int32)

Я просмотрел следующие возможные дубликаты и, к сожалению, они здесь не актуальны, кроме одного:

К сожалению, он не предоставляет достаточной информации, чтобы решить, является ли он точным дубликатом и не отвечает.

Здесь есть проблемы с тайм-аутом. Мой запрос мал, возвращает только одно целое число и ищет таблицу в мета-таблице, содержащую что-то вроде 20 других таблиц.

Различные ошибки в отношении чтения набора результатов:

Синтаксические ошибки и проблемы со строкой:

Источник

Tales From A Lazy Fat DBA

Its all about Databases & their performance, troubleshooting & much more …. ¯_(ツ)_/¯

Likes

Archives:

  • MYSQL startup error: [ERROR] Fatal error: mysql.user table is damaged.

    Posted by FatDBA on November 15, 2017

    While working with one of the client for his brand new installation i’ve encountered a weird problem while starting the MYSQL (5.7.20) daemon on RHEL6 where the MYSQLD service failed to start with below errors or issues captured in error logs.

    ]# service mysqld start
    MySQL Daemon failed to start.
    Starting mysqld: [FAILED]

    Snippet from the error Logs:

    2017-11-15T10:21:03.957212Z 0 [Note] InnoDB: File ‘./ibtmp1’ size is now 12 MB.
    2017-11-15T10:21:11.147615Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
    2017-11-15T10:21:11.147902Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
    2017-11-15T10:21:11.291204Z 0 [Note] InnoDB: Creating sys_virtual system tables.
    2017-11-15T10:21:11.300921Z 0 [Note] InnoDB: sys_virtual table created
    2017-11-15T10:21:11.301245Z 0 [Note] InnoDB: Waiting for purge to start
    2017-11-15T10:21:11.354201Z 0 [Note] InnoDB: 5.7.20 started; log sequence number 0
    2017-11-15T10:21:11.354623Z 0 [Note] Plugin ‘FEDERATED’ is disabled.
    2017-11-15T10:21:11.354976Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 9560ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
    2017-11-15T10:21:11.355390Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
    2017-11-15T10:21:11.569467Z 0 [Warning] System table ‘plugin’ is expected to be transactional.
    2017-11-15T10:21:11.570388Z 0 [Note] Salting uuid generator variables, current_pid: 29102, server_start_time: 1510741261, bytes_sent: 0,
    2017-11-15T10:21:11.570971Z 0 [Note] Generated uuid: ‘b3e664f7-c9ee-11e7-9b23-000c29593ffb’, server_start_time: 8191484773744281275, bytes_sent: 44900352
    2017-11-15T10:21:11.571109Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b3e664f7-c9ee-11e7-9b23-000c29593ffb.
    2017-11-15T10:21:11.573332Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
    2017-11-15T10:21:11.573745Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
    2017-11-15T10:21:11.574116Z 0 [Note] Server hostname (bind-address): ‘*’; port: 3306
    2017-11-15T10:21:11.574540Z 0 [Note] IPv6 is available.
    2017-11-15T10:21:11.574745Z 0 [Note] – ‘::’ resolves to ‘::’;
    2017-11-15T10:21:11.574891Z 0 [Note] Server socket created on IP: ‘::’.

    2017-11-15T10:21:11.580607Z 0 [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
    2017-11-15T10:21:11.580879Z 0 [ERROR] Aborting

    So after taking a look at the error log it’s quite clear that the startup failed with a ‘Fatal Error’ which in turn crashed the entire startup process for the instance with error message “mysql.user table is damaged”. At the same time it gives a solution or a fix to run the mysql_upgrade, but as the instance failed to start it was not possible to execute the command.

    Here is what happened when i tried to execute the mysql_upgrade

    bash-4.1$ mysql_upgrade
    mysql_upgrade: Got error: 2002: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) while connecting to the MySQL server
    Upgrade process encountered error and will not continue.

    *******SOLUTION*********
    As a fix to avoid this deadlock, I’ve started the server with skip-grant-tables option.
    This can be done by adding the ‘skip-grant-tables’ line to the my.cnf (Configuration File) withing section [mysqld].

    bash-4.1$ su –
    Password:
    [root@dixitlab

    [mysqld]
    #
    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M
    #
    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    #
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    innodb_data_file_path = ibdata1:10M:autoextend
    skip-grant-tables

    Now, lets try to start the mysql server now.

    ]# service mysqld start
    Starting mysqld: [ OK ]
    [root@dixitlab

    Boom! It worked. Now quickly try to run the mysql_upgrade step to fix the initial problem.

    -bash-4.1$ mysql_upgrade
    Checking if update is needed.
    Checking server version.
    Running queries to upgrade MySQL server.
    Checking system database.
    mysql.columns_priv OK
    mysql.db OK
    mysql.engine_cost OK
    mysql.event OK
    mysql.func OK
    mysql.general_log OK
    mysql.gtid_executed OK
    mysql.help_category OK
    mysql.help_keyword OK
    mysql.help_relation OK
    mysql.help_topic OK
    mysql.host OK
    mysql.innodb_index_stats OK
    mysql.innodb_table_stats OK
    mysql.ndb_binlog_index OK
    mysql.plugin OK
    mysql.proc OK
    mysql.procs_priv OK
    mysql.proxies_priv OK
    mysql.server_cost OK
    mysql.servers OK
    mysql.slave_master_info OK
    mysql.slave_relay_log_info OK
    mysql.slave_worker_info OK
    mysql.slow_log OK
    mysql.tables_priv OK
    mysql.time_zone OK
    mysql.time_zone_leap_second OK
    mysql.time_zone_name OK
    mysql.time_zone_transition OK
    mysql.time_zone_transition_type OK
    mysql.user OK
    Upgrading the sys schema.
    Checking databases.
    sys.sys_config OK
    Upgrade process completed successfully.
    Checking if update is needed.
    -bash-4.1$
    -bash-4.1$

    Now when it is done, lets revert the changes that we have made to the configuration file and remove the skip-grant-table entry from my.cnf file and restart the MYSQLD service.

    ]# vi /etc/my.cnf
    [root@dixitlab

    ]# service sqld restart
    sqld: unrecognized service
    [root@dixitlab

    ]# service mysqld restart
    Stopping mysqld: [ OK ]
    Starting mysqld: [ OK ]
    [root@dixitlab

    Lets try to connect with the database now.

    bash-4.1$
    bash-4.1$ mysql
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 5
    Server version: 5.7.20 MySQL Community Server (GPL)

    Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

    Hope This Helps
    Prashant Dixit

    Источник

    Unspecified fatal error encountered aborting mysql workbench

    Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

    By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

    Already on GitHub? Sign in to your account

    Hello node-mysql Team,

    We are struggling with the connection pooling timeout issue. Currently we are using node-mysql npm to get data from Remote MySQL and expose same data as JSON format . First 2 minutes we are getting the expected data from API ,after that we are receiving error as below.

    In our case our application instance is in once server and MySQL DB is in another server

    Here is the code snippet that we have

    Hope , someone already faced it , can any one Help on this . Thanks In Advance

    The text was updated successfully, but these errors were encountered:

    Find error screen

    Hi! The issue is that you are only using a single connection for the entire life of your application, and once the connection has a fatal error (like the connection was closed by your MySQL server due to idling), the connection will be destroyed.

    Calling connection.connect(); does not re-establish a killed connection, only connect a never-connected connection.

    Due to incomplete provided code, I cannot show the full refactoring your need to do to get your app to properly use the pool, but I hope just altering your provided code helps:

    @dougwilson Hi, I used the configuration you provided, but still gotting the PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR error accidentally, what should I do to keep my service running without this fatal ?

    Hi @luochen1990, that error is because you have issues within your own code, and you are making an invalid call to our library. The only real way I can help you at this point is that you need to distill the issue down such that I have the complete code of your entire application. This error cannot be solved if I’m just getting small pieces of your application little by little, I would have to see the entire application, provide me with the instructions to get it up and running, provide the instructions on how to encounter the error and then I can attach a debugger to your app to determine where in your code the mistake is.

    The mistake boils down to the following:

    1. Your MySQL connection is encountering a fatal error.
    2. Your code is ignoring this error and trying to make another query on the same connection.

    @dougwilson Thank you for your reply! As you mentioned above, It is possible for my code that the connection is used to send query after it is fatal, since I wrote my code as connect-once-use-many-times style:

    As you can see, I connect the db once, and every time I got a message from the MQ, I use the connection I got before to execute a query. If there is an connection error during the time between I get the connection and I execute a query, then the error may occur.

    So, what should I write to make the auto-reconnect possible?

    So, what should I write to make the auto-reconnect possible?

    Yea, that code would definitely exhibit this issue, since you don’t stop using the same db connection even after a fatal connection occurs. Perhaps a better pattern for your use here is to use a connection pool (even if you want to have the connection pool set to a maximum of one connection). Doing this will mean that each time a message comes in, you’re asking the pool for a valid connection and it will make sure you get one, otherwise you have to re-implement much of what the pool code is doing in your code.

    A simple example (I don’t write CoffeeScript, so please forgive any syntax errors I made when trying to alter your example above):

    @dougwilson thank you very much! I tried this and it works well.

    @luochen1990, glad to hear it! Please let me know if you have other questions, are still having problems, etc.

    Источник

  • 147 / 115 / 10

    Регистрация: 12.09.2011

    Сообщений: 785

    1

    11.05.2018, 16:20. Показов 4928. Ответов 13


    Привет всем!

    Моя программа работает с удаленной базой MySQL. Всё работает чудно, но после нескольких минут простоя программы (производится только обновление таблиц с сервера с интервалом в 5 секунд) при записи новой строки в таблицу MySQL выдает ошибку «Fatal error encountered during command execution«. Подскажите, пожалуйста, от чего это может случаться и как это исправить?

    Спасибо!



    0



    Администратор

    Эксперт .NET

    15259 / 12296 / 4907

    Регистрация: 17.03.2014

    Сообщений: 24,903

    Записей в блоге: 1

    11.05.2018, 18:08

    2

    Vinemax, полный текст исключения смотрел? С соединением как работа идет — открывается каждый раз новое или все время одно?



    2



    Vinemax

    147 / 115 / 10

    Регистрация: 12.09.2011

    Сообщений: 785

    11.05.2018, 18:23

     [ТС]

    3

    OwenGlendower, всё время одно. Текст исключения весь не видел, бо у меня обработчик ошибок стоит. Я тут нагуглил, что есть такое свойство, как CommanTimeout, которое по умолчанию установлено в 30 (видимо, секунд). Устанавливаю его целенаправленно в 3600 и вот сейчас проверил и опять эта же ошибка после некоторого простоя. Код операции добавления строки в таблицу на VB у меня такой:

    VB.NET
    1
    2
    3
    4
    5
    
                Dim command As New MySqlCommand("INSERT INTO ...", connection)
     
                command.CommandTimeout = 3600
     
                command.ExecuteNonQuery()

    …подключение connection всё время открыто, но вот command у меня локальная в процедуре. Может быть её сделать глобальной для всего класса и сразу установить ей глобально CommandTimeout ?



    0



    Администратор

    Эксперт .NET

    15259 / 12296 / 4907

    Регистрация: 17.03.2014

    Сообщений: 24,903

    Записей в блоге: 1

    11.05.2018, 18:27

    4

    Цитата
    Сообщение от Vinemax
    Посмотреть сообщение

    Текст исключения весь не видел, бо у меня обработчик ошибок стоит.

    Не вижу тут связи. Прежде чем что-то делать нужно точно знать что происходит. Получи полный текст исключения прежде чем двигаться дальше.

    Цитата
    Сообщение от Vinemax
    Посмотреть сообщение

    Может быть её сделать глобальной для всего класса и сразу установить ей глобально CommandTimeout ?

    Не надо.

    Цитата
    Сообщение от Vinemax
    Посмотреть сообщение

    подключение connection всё время открыто

    Возможно поможет открытие и закрытие соединение для каждой команды. Создали соединение, открыли, выполнили команду и закрыли соединение.



    2



    147 / 115 / 10

    Регистрация: 12.09.2011

    Сообщений: 785

    11.05.2018, 18:43

     [ТС]

    5

    Цитата
    Сообщение от OwenGlendower
    Посмотреть сообщение

    Создали соединение, открыли, выполнили команду и закрыли соединение.

    Видимо, так и сделаю, если иначе не решу вопрос. Сейчас запустил без обработчика ошибок, подожду немного, чтобы увидеть весь текст исключения…

    Добавлено через 12 минут
    MySql.Data.MySqlClient.MySqlException: «Fatal error encountered during command execution.»

    1) SocketException: Удаленный хост принудительно разорвал существующее подключение

    2) IOException: Не удается прочитать данные из транспортного соединения: Удаленный хост принудительно разорвал существующее подключение.

    3) MySqlException: Reading from the stream has failed.

    4) MySqlException: Fatal error encountered attempting to read the resultset.

    Это всё одна ошибка.



    0



    Администратор

    Эксперт .NET

    15259 / 12296 / 4907

    Регистрация: 17.03.2014

    Сообщений: 24,903

    Записей в блоге: 1

    11.05.2018, 18:53

    6

    Лучший ответ Сообщение было отмечено Yury Komar как решение

    Решение

    Vinemax, как и предполагалось виновато соединение которое внезапно оказывается закрытым. Попробуй открывать и закрывать его явно каждый раз.



    2



    147 / 115 / 10

    Регистрация: 12.09.2011

    Сообщений: 785

    11.05.2018, 18:55

     [ТС]

    7

    Да вот не хотелось бы закрывать и открывать заново, это же всё время, особенно при медленном интернете



    0



    Администратор

    Эксперт .NET

    15259 / 12296 / 4907

    Регистрация: 17.03.2014

    Сообщений: 24,903

    Записей в блоге: 1

    11.05.2018, 18:56

    8

    Vinemax, у соединения две стороны. Одна сторона может закрыть соединение не уведомляя другую. В данном случае так поступает сервер MySql.



    2



    147 / 115 / 10

    Регистрация: 12.09.2011

    Сообщений: 785

    11.05.2018, 19:30

     [ТС]

    9

    Лучший ответ Сообщение было отмечено Yury Komar как решение

    Решение

    OwenGlendower, сделал connection.Ping с интервалом в 5 секунд и проблема пропала. Только вот вопрос, а можно ли так часто и много пинговать, админов сайта это не насторожит, не заблокируют?



    1



    Администратор

    Эксперт .NET

    15259 / 12296 / 4907

    Регистрация: 17.03.2014

    Сообщений: 24,903

    Записей в блоге: 1

    11.05.2018, 20:05

    10

    Vinemax, без понятия. Время покажет.



    1



    147 / 115 / 10

    Регистрация: 12.09.2011

    Сообщений: 785

    11.05.2018, 20:24

     [ТС]

    11

    OwenGlendower, спасибо!



    0



    Модератор

    Эксперт .NET

    3861 / 3184 / 479

    Регистрация: 27.01.2014

    Сообщений: 5,809

    12.05.2018, 04:21

    12

    Vinemax, а зачем каждые 5 секунд делать пинг, ведь это гораздо дольше чем открывать и закрывать соединение?



    1



    147 / 115 / 10

    Регистрация: 12.09.2011

    Сообщений: 785

    13.05.2018, 02:15

     [ТС]

    13

    Yury Komar, ну у меня происходит так… В фоновом процессе BackgroundWorker’а каждые пять секунд обновляются все таблицы программы, а точнее измененные строки всех таблиц. При запуске BackgroundWorker’а пятисекундный таймер отключается, а при завершении обновления всех таблиц опять включается, то есть через пять секунд из процедуры Tick таймера BackgroundWorker опять запускается. Ну вот в этот момент перед запуском BackgroundWorker’а я и делаю пинг. И вот практика на примере очень медленного Интернета показала, что пинг происходит очень быстро, а вот новое подключение идет две — три секунды. Дело в том, что MySqlConnection.Ping возвращает только True или False, то есть не дает всей инфы, отчего, видимо, быстро и срабатывает. Здесь получается суть не конкретно в пинге, а в том, чтобы connection хоть чем-то занять, дабы оно не разъединялось.



    1



    Модератор

    Эксперт .NET

    3861 / 3184 / 479

    Регистрация: 27.01.2014

    Сообщений: 5,809

    13.05.2018, 02:42

    14

    Vinemax, понятно. Ну надеюсь будет работать без сюрпризов.



    1



    when i execute stored procedure on remote mysql from my c# code i get the generic error:
    «Fatal error encountered during command execution»
    total details:

    MySql.Data.MySqlClient.MySqlException: Fatal error encountered during command execution. --->  MySql.Data.MySqlClient.MySqlException: Fatal error encountered attempting to read the resultset. --->  MySql.Data.MySqlClient.MySqlException: Reading from the stream has failed.
    --->  System.IO.EndOfStreamException: Attempted to read past the end of the stream.    at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)    at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
    --- End of inner exception stack trace ---    at MySql.Data.MySqlClient.MySqlStream.LoadPacket() at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId)    at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int32& insertedId)    at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId)    at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
    --- End of inner exception stack trace ---    at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)    --- End of inner exception stack trace ---    at MySql.Data.MySqlClient.MySqlCommand.EndExecuteNonQuery(IAsyncResult asyncResult
    

    )

    my c# code:

     internal void InsertUpdateMySql(string connectionstring, string storedprocedure)
        {
            string sLog = "internal void InsertUpdateMySql(string connectionstring, string storedprocedure)";
            MySqlConnection conn = new MySqlConnection();
            int rowsAffected = 0;
            try
            {
                if (!string.IsNullOrEmpty(storedprocedure) && !string.IsNullOrEmpty(connectionstring))
                {
                    conn.ConnectionString = connectionstring;
                    MySqlCommand cmd = new MySqlCommand(storedprocedure);
                    cmd.Connection = conn;
                    conn.Open();
                    IAsyncResult myResult = cmd.BeginExecuteNonQuery(null, null);
                    SetProgressinRichText("In progressn");
                    while (!myResult.IsCompleted)
                    {
                        SetProgressinRichText(".");
                    }
                    rowsAffected = cmd.EndExecuteNonQuery(myResult);
                }
            }
            catch (MySqlException ex)
            {
                this.service.WriteToLog(source, sLog + "n" + ex.Message + "n" + ex.StackTrace);
            }
            catch (Exception ex)
            {
                this.service.WriteToLog(source, sLog + "n" + ex.Message + "n" + ex.StackTrace);
            }
            finally
            {
                if (conn.State != System.Data.ConnectionState.Closed)
                    conn.Close();
            }
        }
    

    the sp same like that:

    DELIMITER $$
    
    
    CREATE  PROCEDURE `SPInsertUpdateCity`( in SP_CityName VARCHAR(100) charset utf8, in SP_CitySynonyms varchar(100) charset utf8, in SP_CityNumberPostOffice varchar(100)) BEGIN   if(not exists(select CityID from city where CityName = SP_CityName)) then      insert into city(CityName, CityNumberPostOffice) values(SP_CityName, SP_CityNumberPostOffice);      insert into citysynonym (CityID, CitySynonymName) values(Last_insert_id(),SP_CitySynonyms);      else if(not exists( select  CitySynonymID from    citysynonym where   CitySynonymName = SP_CitySynonyms)) then    
                    insert into citysynonym (CityID, CitySynonymName) values((select cityid from city where CityName=SP_CityName), SP_CitySynonyms);     end if;    end if; END$$
    
    DELIMITER ;
    

    the connection string:

    Server=XXXX; Port=XXXX; Database=XXXX; Uid=XXXX;Pwd=XXXX;charset=utf8;default command timeout=7200;
    

    but when i exceute that on local mysql it success as well!
    for remote mysql i tryied to send little data (3 records) and it executed successfully, but for large data (1500 records) the execute is failed

    Понравилась статья? Поделить с друзьями:
  • Unspecified error sims 2
  • Unrecoverable playback error device not found 0x88780078
  • Unrecoverable memory error by gpu 2 перевод
  • Unrecoverable error too long without yielding
  • Unrecoverable error no bootable medium found init lua opencomputers