Error saving account mysql workbench

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

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

$ ps xa | grep mysqld | grep -v mysqld

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

$ sudo systemctl start mysql        #Debian/Ubuntu
$ sudo systemctl start mysqld       #RHEL/CentOS/Fedora

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

$ sudo systemctl status mysql       #Debian/Ubuntu
$ sudo systemctl status mysqld      #RHEL/CentOS/Fedora

Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.

$ sudo systemctl restart mysql
$ sudo systemctl status mysql

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

Для поиска порта, который прослушивается сервером, используйте команду netstat.

$ sudo netstat -tlpn | grep "mysql"

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:

ERROR 2003: Cannot connect to MySQL server on 'host_name' (111)
ERROR 2002: Cannot connect to local MySQL server through socket '/tmp/mysql.sock' (111)

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.

В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

> SHOW GRANTS FOR 'tecmint'@'localhost';

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100';
> flush privileges;

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB  больше, чем max_allowed_packet.

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout.

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

[mysqld]
connect_timeout=100
max_allowed_packet=500M

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

> SET GLOBAL connect_timeout=100;
> SET GLOBAL max_allowed_packet=524288000;

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf.

[mysqld]
max_connections=1000

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:

  • если клиент MySQL используется напрямую, запустите его с ключом --quick switch, чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

$ sudo apt-get install mysqltuner     #Debian/Ubuntu
$ sudo yum install mysqltuner         #RHEL/CentOS/Fedora
$ mysqltuner

MySQL продолжает «падать»

Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

$ sudo systemctl status mysql       #Debian/Ubuntu
$ sudo systemctl status mysqld      #RHEL/CentOS/Fedora

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin.

$ sudo mysqladmin version -p 

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

$ sudo mysqladmin -i 5 status

Или

$ sudo mysqladmin -i 5 -r status

Заключение

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

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/. Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl. Или используйте команду journalctl (с флагом -xe) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist, чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»

Не могли бы вы помочь мне решить эту проблему?

Когда я пытаюсь щелкнуть «базу данных запросов» в меню базы данных в Workbench Mysql. это дает мне ошибку:

Cannot Connect to Database Server

Your connection attempt failed for user 'root' from your host to server at 
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)

Please:

 1. Check that mysql is running on server 127.0.0.1
 2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can 
    be changed)
 3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights 
    define what clients can connect to the server and from which machines) 
 4. Make sure you are both providing a password if needed and using the correct 
    password for 127.0.0.1 connecting from the host address you're connecting from

4b9b3361

Ответ 1

Вероятно, проблема связана с тем, что аутентификация сокета включена для пользователя root по умолчанию, когда пароль не задан, во время обновления до ubuntu 16.04.

Решение состоит в том, чтобы вернуться к аутентификации собственного пароля. Вы можете сделать это, войдя в MySQL, используя проверку сокетов, выполнив:

sudo mysql -u root

После входа в систему:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

который вернется к исходной (старой по умолчанию) аутентификации пароля.

Теперь используйте пароль в качестве пароля, когда это требуется MySQL.

Ответ 2

Попробуйте открыть services.msc из окна поиска в меню «Пуск» и попробуйте вручную запустить службу MySQL.

Ответ 3

Похоже, есть много причин этой ошибки.

Моя причина/решение

В моем случае причина была в том, что мой сервер был настроен на прием соединений только от localhost. Я исправил это, выполнив следующую статью: Как включить удаленный доступ к серверу баз данных MySQL?. В моем файле my.cnf не было строки skip-networking, поэтому я просто изменил строку

bind-address = 127.0.0.1

в

bind-address = 0.0.0.0

Это позволяет устанавливать соединения с любого IP, а не только с 127.0.0.1.

Затем я создал пользователя MySql, который мог подключиться с моего клиентского компьютера, выполнив следующие команды терминала:

# mysql -u root -p
mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password';
    -> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION;
    -> q

где 1.2.3.4 — это IP-адрес клиента, с которого вы пытаетесь подключиться. Если у вас действительно есть проблемы, вы можете использовать '%' вместо '1.2.3.4', чтобы позволить пользователю подключаться с любого IP.

Другие причины

Довольно обширный список см. в разделе Причины ошибок, связанных с отказом в доступе.

Ответ 4

Вы пытались определить, является ли это проблемой с Workbench или общей проблемой соединения? Попробуйте следующее:

  • Откройте терминал
  • Тип mysql -u root -p -h 127.0.0.1 -P 3306
  • Если вы можете подключиться успешно, вы увидите приглашение mysql после ввода пароля (введите quit и Enter there to exit).

Сообщите, как это сработало.

Ответ 5

У меня была похожая проблема в Mac OS, и я смог ее исправить следующим образом:

Из терминала запустите:

mysql -u root -p -h 127.0.0.1 -P 3306

Затем меня попросили ввести пароль. Я просто нажал Enter, так как пароль не был установлен.

Я получил сообщение следующим образом:

Добро пожаловать на монитор MySQL. Команды заканчиваются на; или g. Ваш идентификатор соединения MySQL — 181. Версия сервера: 8.0.11 Homebrew.

Если вам удалось войти в mysql>, выполните следующую команду:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Вы должны получить сообщение, подобное этому:

Запрос в порядке, затронуто 0 строк (0,19 с)

Теперь ваш пароль — » пароль «, а имя пользователя — » root «.

Удачного кодирования :)

Ответ 6

Мне пришлось запустить Workbench в качестве администратора. По-видимому, у него не было необходимых разрешений для подключения к процессу сервера базы данных localhost.

Щелкните правой кнопкой мыши ярлык Workbench и выберите Run as Administrator. В окне свойств ярлыка вы можете нажать «Дополнительно» и поставить галочку рядом с надписью «Запуск от имени администратора», чтобы всегда запускать Workbench с правами администратора.

Ответ 7

Я некоторое время боролся с этой проблемой и делал несколько переустановок MySQL, прежде чем обнаруживать это.

Я знаю, что сервер MySQL работал нормально, потому что я мог получить доступ ко всей моей БД с помощью командной строки.

Надеюсь, это сработает для вас.

В MySQL Workbench (5.2.47 CE)

нажмите Экземпляры сервера Mange (нижний правый угол)

нажмите Соединение

в поле Соединение выберите:

Локальный экземпляр ($ ServerName) — [email protected]: 3306 ‘<‘ Стандартный (TCP/IP) >

нажмите Изменить выбранные…

под Параметры, Имя хоста измените localhost или 127.0.0.1 на имя NetBIOS

нажмите Проверить соединение

Если это сработает для вас, отлично. Если имя хоста не изменилось, то оно было.

Ответ 8

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

  • Загрузите и установите сервер Wamp в соответствии со своей битовой версией (32 бит или 64 бит) на вашем компьютере (http://wampserver-64bit.en.softonic.com/). позволяет загружать сервер Wamp на 64-разрядный.

  • Как только вы его установили, вы можете дважды щелкнуть и запустить его.. (вы можете увидеть значок в правой руке панели задач. Возможно, он скрыт. Вы можете щелкнуть стрелку, которая показывает вам скрыть запуск приложений). Нажмите на значок и перейдите в Mysql

  • Затем перейдите в Сервис, и там вы можете найти Начать/возобновлять службы.

  • И теперь это делается. Откройте рабочий стол mysql и увидите. Он будет работать.

Ответ 9

Запустите команду ALTER USER. Обязательно смените пароль на надежный пароль по вашему выбору.

  1. sudo mysql # Войдите в MySQL

  2. Запустите приведенную ниже команду

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    

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

Ref: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04

Ответ 10

Чтобы быть в курсе последних версий и более поздних посетителей:

В настоящее время я работаю над win7 64bit с различными инструментами, включая python 2.7.4, как необходимое условие для google android…

Когда я обновил с WB 6.0.8-win32 до верхних версий, чтобы иметь 64-битную производительность, у меня были некоторые проблемы, например, на 6.3.5-winx64. У меня была ошибка в представлении деталей таблиц (неупорядоченное представление), что привело к понижению до 6.2.5-winx64.

В качестве пользователя GUI легкие функции пересылки вперед/назад и относительные элементы сервера db работали хорошо, но когда мы пытаемся Database>Connect to Database, у нас будет Not connected и будет ошибка python, если мы попытаемся выполнить запрос, однако DB серверная служба абсолютно запущена и работает хорошо, и эта проблема не с сервера, а с рабочего места. Чтобы решить эту проблему, мы должны использовать Query>Reconnect to Server, чтобы явно выбрать соединение с БД, а затем почти все выглядит хорошо (это может быть связано с моими множественными соединениями db, и я не смог найти какое-то решение для определения подключения по умолчанию в рабочем столе).

В качестве примечания: потому что я использую последнюю версию Xampp (даже в зависимостях от linux:)), в последнее время Xampp использует mariadb 10 вместо mysql 5.x приводит к тому, что версия файла mysql равна 10, может вызвать некоторые проблемы, такие как переадресация разработка процедур, которые могут быть решены с помощью mysql_upgrade.exe, но при попытке проверить соединение db wb сообщит о неправильной версии, однако это не критично и работает хорошо.

Заключение: Таким образом, иногда проблемы с подключением db в workbench могут быть связаны с самим собой, а не с сервером (если у вас нет других проблем с подключением к db).

Ответ 11

Причина была в том, что я пытался использовать новейший MySQL Workbench 8.x для подключения к MySQL Server 5.1 (оба работают на Windows Server 2012).

Когда я удалил MySQL Workbench 8.x и установил MySQL Workbench 6.3.10, он успешно подключился к базе данных localhost

Ответ 12

Я тоже долгое время боролся с этой проблемой.

Я прошел через этот интересный поток из форума MySQL: http://forums.mysql.com/read.php?11,11388,11388#msg-11388

Я также набрал (очевидно) некоторый хороший SO Q/A.

Похоже, что сообщение, упомянутое в вопросе «user948950», может исходить из широкого круга причин: слишком большой файл журнала, неправильные значения файла mysql.ini, пробелы в пути к файлу, проблема безопасности /acl, старые записи в реестр и т.д.

Итак, после попытки за 3 часа исправить это… Я отказался и решил сделать старую старую переустановку.

Здесь этот пост из (снова) этот поток MySQL пришел в полезное, я цитирую:

Гэри Уильямс писал (а): Привет, ребята,

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

  • Остановите службу Windows для любой существующей установки mysql.

  • Удалите Mysql.

Как и при большинстве удалений, старые файлы остаются позади. Если ваш каталог это C:mysqletc, то удалите файлы innob и т.д., но оставьте сами каталоги, а также любые существующие базы данных в «данных». Если ваш каталог — C:Program Filesetc, удалите все mysql каталоги.

  • Теперь стоит запустить regedit, чтобы удалить старые записи реестра, а также удалить. Если нет, удалите их.

  • Хорошо использовать новый .msi-установщик (только для основных файлов), однако….

  • Не используйте свой путь установки по умолчанию! Некоторые гении устанавливают путь с пробелами в нем! Выберите пользовательскую установку и выберите разумный путь, т.е. C:mysql (примечание от Adrien: C:mysqldata для… данных)

  • Не следует изменять параметры безопасности. Снимите флажок в соответствующем поле, и установка завершится без установки root пароль.

Думаю, я все вспомнил.

Удачи.

Гэри

Я столкнулся с проблемами, когда просто копировал/вставлял базы данных, которые у меня были в предыдущем каталоге данных, в новый. Поэтому работа, которую я нашел, заключалась в том, чтобы экспортировать каждую базу данных (я знаю… много веселья), а затем повторно импортировать их по одному.

FYI: я использовал следующую команду для импорта C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump><dumpName>.sql", например C:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:mySupaCoolDbDump20130901.sql"

Ответ 13

Я был в подобных ситуациях до и в прошлый раз, когда обнаружил, что это проблема с выпуском Windows (не уверен). На этот раз я открыл Workbench MySQL и не нашел подключения к моей локальной базе данных. Я не вижу свои таблицы, но вчера я мог подключиться к базе данных.

Я обнаружил, что моя причина в том, что после того, как мой компьютер снова сработает и снова проснется, служба mysql не работает.
Мое решение: перезапустите службу с именем «mysql» и перезапустите верстак. Перезапуск службы занимает некоторое время, но он работает.

Ответ 14

Моя проблема заключалась в том, что сервер MySQL фактически не был установлен. Я запустил MySQL Installer, но он не установил сервер MySQL.

Я перезапущу установщика, нажмите «Добавить», а затем добавил сервер MySQL в список. Теперь он отлично работает.

Ответ 15

В моем случае я только что установил MySQL Workbench, но после удаления MySQL Workbench и установки установщика MySQL он одинаков как для 32-разрядных, так и для 64-разрядных, после чего он работает как чудо. Надеюсь, это может быть полезно.

Unhandled exception: Error creating account

I’m trying to set up a database with MySQL and this error keeps popping up: Unhandled exception: Error creating account blank@blank. Error executing ‘Access denied; you need (at least one of)the create user privileges for this operation. I’m wondering if and how I can change my own account settings so that I’ll be able to add new users again and be able to do other things. The program I’m currently using for this is MySQL workbench and I recently put the server onto a Microsoft web-matrix website. I’m not completely sure if that can cause any odd effects but I just want to be safe. Thanks guys.

1 Answer 1

Create a new connection in MySQL workbench with user root. Logon with that user in MySQL workbench and go to a Query window. Assuming you want to access everything and have all privileges, issue the following SQL statement. Replace ‘you’ with your username.

That will give you pretty much everything.

Related

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.1.13.43154

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Устраняем типичные ошибки в MySQL

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL ( mysqld ) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

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

Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

Для поиска порта, который прослушивается сервером, используйте команду netstat .

Не удаётся подключиться к серверу MySQL

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.

В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB больше, чем max_allowed_packet .

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout .

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections . Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf .

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:

  • если клиент MySQL используется напрямую, запустите его с ключом —quick switch , чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

MySQL продолжает «падать»

Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin .

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

Заключение

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

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/ . Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl . Или используйте команду journalctl (с флагом -xe ) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages ) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist , чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Источник

MySQL Workbench not saving passwords in keychain

Using Kubuntu 16.10, I’m saving a password into the keyring in MySQL Workbench, checking the «Store password in keychain» checkbox.

It works as long as it’s open (doesn’t ask for password), but when I re-open the program it prompts for the password again.

Not many people seem to have this problem. It might have something to do with my OS, but I’m not sure.

8 Answers 8

I am using Ubuntu 18.04. Here is a the error I’m seeing:

  1. Go to Ubuntu software center.
  2. Search for MySQL workbench community.
  3. Click on permission
  4. Enable Read, add . to on

If you have downloaded Mysql-workbench using snap then You need to enter a command to allow this package to access the service. The command is:

If this happens to you, try installing gnome-keyring if you don’t have it.

Solved the problem for me.

During the Mysql installation via Ubuntu Software center it gives all the necessary instructions for this as in the screenshot.

So all you need:

  • snap connect mysql-workbench-community:password-manager-service
  • snap connect mysql-workbench-community:ssh-keys

Okey, I was facing same issue and that was really really annoying, so here is my workaround / fix :

I’m on Debian 8 Jessie with Gnome 3.14.1

Somebody was talking about this issue, but his fix wasn’t fully working for me : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769393

SOLUTION :

Create this new script file :

with following content :

The author suggested that only this should fix the problem, but I had to edit my gnome desktop entry to use the icon shortcut from menu :

Changing the line Exec=mysql-workbench to Exec=/usr/local/bin/mysql-workbench :

Now I can use my shortcut menu and it is working.

Источник

Не удается подключиться к серверу базы данных (рабочая среда mysql)

Не могли бы вы помочь мне решить эту проблему?

Когда я пытаюсь щелкнуть «запрос базы данных» в меню базы данных в рабочей среде Mysql. это дает мне ошибку:

Cannot Connect to Database Server

Your connection attempt failed for user ‘root’ from your host to server at 127.0.0.1:3306:Can’t connect to mysql server on ‘127.0.0.1’(10061)

  1. Check that mysql is running on server 127.0.0.1
  2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can be changed)
  3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights define what clients can connect to the server and from which machines)
  4. Make sure you are both providing a password if needed and using the correct password for 127.0.0.1 connecting from the host address you’re connecting from

Проблема, вероятно, связана с тем, что аутентификация сокета включена для пользователя root по умолчанию, когда пароль не установлен, во время обновления до ubuntu 16.04.

Решение состоит в том, чтобы вернуться к собственной аутентификации по паролю. Вы можете сделать это, войдя в MySQL с использованием аутентификации сокета, выполнив следующие действия:

После входа в систему:

который вернется к исходному (старому по умолчанию) парольной аутентификации.

Теперь используйте пароль в качестве пароля всякий раз, когда этого требует MySQL.

Попробуйте открыть services.msc окно поиска в меню «Пуск» и попробуйте запустить службу MySQL вручную или напрямую написать services.msc в Run поле.

Похоже, у этой ошибки много причин.

Моя причина / решение

В моем случае причина заключалась в том, что мой сервер был настроен на прием соединений только с localhost. Я исправил это, прочитав эту статью: Как включить удаленный доступ к серверу базы данных MySQL? . В моем my.cnf файле не было skip-networking строки, поэтому я просто изменил строку

Это позволяет подключаться с любого IP-адреса, а не только с 127.0.0.1.

Затем я создал пользователя MySql, который мог подключаться с моей клиентской машины, выполнив следующие команды терминала:

где 1.2.3.4 IP-адрес клиента, с которого вы пытаетесь подключиться. Если у вас действительно есть проблемы, вы можете использовать ‘%’ вместо того, ‘1.2.3.4’ чтобы разрешить пользователю подключаться с любого IP-адреса.

Другие причины

Достаточно обширный список см. В разделе Причины ошибок отказа в доступе .

Вы пытались определить, проблема ли это в Workbench или общая проблема с подключением? Попробуй это:

  1. Откройте терминал
  2. Тип mysql -u root -p -h 127.0.0.1 -P 3306
  3. Если вы можете подключиться успешно, после ввода пароля вы увидите приглашение mysql (введите quit и введите Enter для выхода).

Сообщите, как это работало.

] # mysql -u root -p -h 127.0.0.1 -P 3306 Введите пароль: ОШИБКА 1045 (28000): Отказано в доступе для пользователя ‘root’ @ ‘localhost’ (с использованием пароля: ДА) [root @ localhost

] # mysql -u admin -p -h 127.0.0.1 -P 3306 Введите пароль: ОШИБКА 1045 (28000): доступ запрещен для пользователя ‘admin’ @ ‘localhost’ (с использованием пароля: YES) [root @ localhost

У меня была аналогичная проблема в Mac OS, и я смог исправить ее следующим образом:

Из терминала запустите:

Затем меня попросили ввести пароль. Я просто нажал клавишу ввода, так как пароль не был установлен.

Я получил следующее сообщение:

Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 181. Server version: 8.0.11 Homebrew.

Если вам удалось войти в mysql>, выполните следующую команду:

Вы должны получить такое сообщение:

Query OK, 0 rows affected (0.19 sec)

Теперь ваш пароль — « пароль », а ваше имя пользователя — « root ».

Выполните команду ALTER USER. Обязательно смените пароль на надежный пароль по вашему выбору.

sudo mysql # Войдите в mysql`

Запустите команду ниже

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

Мне пришлось запустить Workbench как администратор. По-видимому, у него не было необходимых разрешений для подключения к моему процессу сервера базы данных localhost.

Щелкните правой кнопкой мыши ярлык Workbench и выберите Run as Administrator . В окне свойств ярлыка вы можете нажать «Дополнительно» и поставить отметку рядом с «Запуск от имени администратора», чтобы всегда запускать Workbench с правами администратора.

Ошибка возникает из-за того, что сервер mysql не запускается на вашем компьютере. Вам следует запустить его вручную. Сделайте следующие шаги:

Загрузите и установите Wamp-сервер в соответствии с вашей битовой версией (32-битной или 64-битной) на свой компьютер ( http://wampserver-64bit.en.softonic.com/ ), эта ссылка позволяет вам загрузить Wamp-сервер для 64- битной версии .

Как только вы установите его, вы можете дважды щелкнуть и запустить его . (вы можете увидеть значок в правой части панели задач. Он может быть скрыт. Поэтому вы можете щелкнуть стрелку, которая показывает вам скрытые запущенные приложения). щелкните значок и перейдите в Mysql

Затем перейдите в раздел «Служба» и там вы можете найти « Пуск / возобновить службы», щелкнув по нему.

Теперь все готово. Откройте рабочую среду mysql и убедитесь, что все будет работать.

Некоторое время я боролся с этой проблемой и сделал несколько переустановок MySQL, прежде чем обнаружил это.

Я знаю, что сервер MySQL работал нормально, потому что я мог получить доступ ко всем своим БД с помощью командной строки.

Надеюсь, что это работает для вас.

В MySQL Workbench (5.2.47 CE)

нажмите Mange Server Instances (нижний правый угол)

нажмите » Подключение»

в поле Соединение выберите:

Локальный экземпляр ($ ServerName) — [email protected]: 3306 ‘

нажмите Edit Selected .

в разделе Параметры имя хоста измените localhost или 127.0.0.1 на ваше имя NetBIOS

нажмите Проверить соединение

Если это сработает для вас, отлично. Если нет, измените имя хоста на то, что было.

Для тех, кто проигнорировал это сообщение об ошибке, отображается следующее:

Имя org.freedesktop.secrets не было предоставлено никакими файлами .service.

Обязательно установите gnome-keyring, используя следующие

По-моему, причина заключалась в том, что я пытался использовать новейшую версию MySQL Workbench 8.x для подключения к MySQL Server 5.1 (оба работают на Windows Server 2012).

Когда я удалил MySQL Workbench 8.x и установил MySQL Workbench 6.3.10, он успешно подключился к localhost базе данных.

Чтобы быть в курсе для более поздних версий и более поздних посетителей:

В настоящее время я работаю над 64-разрядной версией win7 с различными инструментами, включая python 2.7.4 в качестве предварительного условия для google android .

Когда я обновился с WB 6.0.8-win32 до более высоких версий, чтобы иметь 64-битную производительность, у меня были некоторые проблемы, например, на 6.3.5-winx64 у меня была ошибка в подробном представлении таблиц (неупорядоченный вид), из-за чего я понизил до 6.2. 5-винкс64.

Как пользователь GUI, легкая прямая / обратная инженерия и относительные элементы сервера db работали хорошо, но когда мы попытаемся, у Database>Connect to Database нас будет Not connected и будет ошибка python, если мы попытаемся выполнить запрос, однако служба сервера БД абсолютно запущена и работает хорошо и эта проблема не с сервера, а с рабочей среды. Чтобы решить эту проблему, мы должны использовать Query>Reconnect to Server для явного выбора подключения к БД, и тогда почти все выглядит хорошо (это может быть связано с моими несколькими подключениями к базе данных, и я не мог найти какое-то решение для определения подключения к базе данных по умолчанию в рабочей среде).

В качестве примечания: поскольку я использую последнюю версию Xampp (даже в linux вызывает привыкание :)), в последнее время Xampp использует mariadb 10 вместо mysql 5.x приводит к тому, что версия файла mysql равна 10, что может вызвать некоторые проблемы, такие как прямое проектирование процедур который может быть решен с помощью, mysql_upgrade.exe но все же, когда мы пытаемся проверить соединение с базой данных, wb сообщит о неправильной версии, но это не критично и работает хорошо.

Вывод: Таким образом, иногда проблемы с подключением к базе данных в рабочей среде могут быть связаны с самим собой, а не с сервером (если у вас нет других проблем с подключением к базе данных).

Источник

Понравилась статья? Поделить с друзьями:
  • Error sans человек
  • Error scene ru бесплатно
  • Error sans факты
  • Error scardlistreaders null
  • Error scanning on remotescan server