Я инженер-электрик, который в основном играет с энергосистемами, а не программирует. Недавно я следовал инструкции по установке пакета программ на Ubuntu. Я вообще ничего не знаю об этом mySQL
. Я сделал следующие установки на моем Ubuntu.
sudo apt-get update
sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-client-5.5
sudo apt-get install mysql-common
sudo apt-get install glade
sudo apt-get install ntp
Тогда я делаю
me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql"
Я закончил со следующим сообщением об ошибке.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Как я могу это исправить и продолжить?
Ответы:
Примечание. Для MySQL 5.7+ см. Ответ @Lahiru на этот вопрос. Это содержит более актуальную информацию.
Для MySQL <5.7:
Пароль root по умолчанию пуст (т.е. пустая строка) нет
root
. Таким образом, вы можете просто войти как:Вы, очевидно, должны изменить свой пароль root после установки
В большинстве случаев вам также следует настроить отдельные учетные записи пользователей, прежде чем активно работать с БД.
источник
-p
Флаг указывает пароль, поэтому после изменения пароля пользователя root вы захотитеmysql -u root -p[newpassword]
.< [filename]
Используем зЬй вход для выполнения файла SQL на пути , указанный с помощью учетных данных пользователя вы предоставляете.mysqladmin -u root password abc1234
, но я получилmysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
. Спасибо вам большое!Я смог решить эту проблему, выполнив это заявление
Который изменит пароль root.
источник
dpkg --get-selections | grep sql
чтобы получить свою версиюyum list installed
добавить| grep sql
для фильтрации только пакеты SQL.sudo: dpkg-reconfigure: command not found
. Любое предложение?Вы должны сбросить пароль! шаги для Mac OSX (проверено и работает) и Ubuntu
Прекратить использование MySQL
или
Запустите его в безопасном режиме:
(над строкой целая команда)
Это будет постоянная команда до завершения процесса, поэтому откройте другое окно оболочки / терминала и войдите без пароля:
Согласно комментарию @ IberoMedia, для более новых версий MySQL поле называется
authentication_string
:Запустите MySQL, используя:
или
Ваш новый пароль - «пароль».
источник
--skip-grant-tables
в сочетании с,--skip-networking
чтобы предотвратить подключение удаленных клиентов. о, а также, этот не работал для меня. Вот почему я пришел сюда: р--
я бы посоветовал использоватьdpkg --get-selections | grep mysql-server-
для получения вашей точной версии MySQL, а затем перейти к sudo dpkg -configure mysql-server-5.x (заменить 5 .x с версией вашего сервера, кстати). Я прокомментировал ответ @ Divz с такой точностью, но он замаскирован несколькими комментариями «спасибо».Я знаю, что это старый вопрос, но я чувствую, что это может кому-то помочь. Недавно я столкнулся с той же проблемой, но в моем случае я хорошо помню свой пароль, но он продолжал выдавать мне ту же ошибку. Я пробовал так много решений, но все равно ни один не помог, тогда я попробовал это
после чего он запрашивает у вас пароль
а затем я ввел пароль, который я использовал. Вот и все
источник
При первоначальном запуске сервера происходит следующее, если каталог данных сервера пуст:
Чтобы выявить это, используйте следующую команду:
Измените пароль root как можно скорее, войдя в систему с созданным временным паролем и установив пользовательский пароль для учетной записи суперпользователя:
источник
sudo grep 'temporary password' /var/log/mysqld.log
я получаю/var/log/mysqld.log: No such file or directory
sudo grep 'temporary password' /var/log/mysql/error.log
. Решение @Lahiru сработало для меня.shell> sudo grep 'password' /var/log/mysql/error.log
. У меня сработало , но я получаю: root @ localhost создан с пустым паролем! Пожалуйста, рассмотрите возможность отключения опции --initialize-insecure. Моя версия mysql: Ver 8.0.13 для Linux на x86_64 (MySQL Community Server - GPL)если проблема все еще существует, попробуйте изменить проход
Установите новый пароль пользователя root для MySQL
Остановите MySQL Server:
Запустите сервер MySQL и протестируйте его:
источник
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
также мучил мой сервер. «mysqld_safe» также не выполнялся, пока я не сделал «killall mysqld» ПОСЛЕ вашего шага 1.--skip-grant-tables
в сочетании с,--skip-networking
чтобы предотвратить подключение удаленных клиентов. о, а также, этот не работал для меня. Вот почему я пришел сюда: рЭто происходит, когда ваш пароль отсутствует.
Действия, чтобы изменить пароль, если вы забыли:
Остановите MySQL Server (в Linux):
Запустите базу данных, не загружая таблицы привилегий или не включая сеть:
Амперсанд в конце этой команды заставит этот процесс работать в
фоновом режиме, чтобы вы могли продолжать использовать свой терминал и запускать #mysql -u root, он не будет запрашивать пароль.
Если вы получаете ошибку, как показано ниже:
2018-02-12T08: 57: 39.826071Z mysqld_safe Каталог '/ var / run / mysqld' для
файла сокета UNIX не существует. mysql -u root ERROR 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет
'/var/run/mysqld/mysqld.sock' (2) [1] + выход 1
Сделать сервисный каталог MySQL.
Дайте пользователю MySQL разрешение на запись в каталог службы.
Выполните ту же команду на шаге 2, чтобы запустить mysql в фоновом режиме.
Запустите mysql -u root, вы получите консоль mysql без ввода пароля.
Запустите эти команды
Для MySQL 5.7.6 и новее
Для MySQL 5.7.5 и старше
Если команда ALTER USER не работает, используйте:
Теперь выход
Чтобы остановить запуск экземпляра вручную
Перезапустите MySQL
источник
sudo kill `sudo cat /var/run/mysqld/mysqld.pid`
Я столкнулся с этой очень раздражающей проблемой и нашел много ответов, которые не работали. Лучшее решение, с которым я столкнулся, было полностью удалить mysql и переустановить его. При переустановке вы устанавливаете пароль root, и это решает проблему.
Я нашел этот код в другом месте, поэтому я не беру на себя ответственность за него. Но это работает. Чтобы установить mysql после его удаления, я думаю, что у digital Ocean есть хорошее руководство. Проверьте мою суть для этого.
https://gist.github.com/JamesDaniel/c02ef210c17c1dec82fc973cac484096
источник
Использую Ubuntu-16.04: установлен mysql - 5.7. У меня была та же проблема: вход в систему запрещен для пользователя root.
Попробовал следующие шаги:
dpkg --get-selections | grep mysql
(чтобы получить версию mysql).dpkg-reconfigure mysql-server-5.7
mysql -u root -p
Без -p это не заставит вас спросить пароль. Войдя в систему, вы можете создать пользователя с паролем, выполнив следующие действия:
Выход из рута и логин с того, что вы дали выше.
По какой-то причине все еще просто печатать mysql не работает. ВООБЩЕ. Я предлагаю сделать это привычкой к употреблению
mysql -u <name> -p
.источник
просто войдите в терминал
mysql -u root -p. чем он спросит пароль для вас
источник
Если ни один из других ответов не работает для вас, и вы получили эту ошибку:
Следуйте приведенным ниже командам шаг за шагом, пока вы не сбросите свой пароль:
источник
$ sudo cat /etc/mysql/debian.cnf
Это покажет детали как
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock
Выше мы можем увидеть пароль, просто мы будем использовать его
(GUx0RblkD3sPhHL5)
в командной строке.mysql -u debian-sys-maint -p Enter password:
Теперь введите пароль ( GUx0RblkD3sPhHL5 ).
Теперь
exit
из MySQL и войдите снова какmysql -u root -p Enter password:
Теперь предоставьте новый пароль. Вот и все, у нас есть новый пароль для дальнейшего использования.
Это сработало для меня, надеюсь, поможет вам тоже!
источник
Пожалуйста, ознакомьтесь с официальной документацией: Mysql: Как сбросить пароль root
Если у вас есть доступ к терминалу:
MySQL 5.7.6 и позже:
MySQL 5.7.5 и более ранние:
источник
> mysql -u {your_username}
Я использую mysql-5.7.12-osx10.11-x86_64.dmg в Mac OSX
В процессе установки автоматически устанавливается временный пароль для пользователя root. Вы должны сохранить пароль. Пароль не может быть восстановлен.
Следуй инструкции
cd /usr/local/mysql/bin/
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{YOUR_PASSWORD}');
если вы хотите установить свой пароль: «root», то команда будет,SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
exit
./mysql -u root -p
Для удобства, вы должны добавить
"/usr/local/mysql/bin"
в свой путьТеперь из любого места вы можете ввести,
./mysql -u root -p
а затем ввести пароль, и вы получите приглашение mysql>.Надеюсь, поможет.
источник
Ответ может показаться глупым, но, потратив часы времени, я получил его на работу
Я получил сообщение об ошибке
Хотя я и вводил правильный пароль (временный пароль, который вы получаете при первой установке mysql)
Я правильно понял, когда вводил пароль, когда подсказка пароля мигала
источник
если проблема все еще существует, попробуйте изменить проход
Остановите MySQL Server (в Linux):
Остановите MySQL Server (в Mac OS X):
Запустите демон mysqld_safe с --skip-grant-tables
Установите новый пароль пользователя root для MySQL
Остановите MySQL Server (в Linux):
Остановите MySQL Server (в Mac OS X):
Запустите службу сервера MySQL и протестируйте вход в систему с правами root:
источник
По умолчанию пароль будет нулевым, поэтому вам нужно сменить пароль, выполнив следующие шаги.
подключиться к mysql
root # mysql
Используйте MySQL
mysql> update user set password = PASSWORD ('root'), где User = 'root'; Наконец, перезагрузите привилегии:
mysql> сброс привилегий; mysql> выход
источник
Всего одна строчка и это решило мою проблему.
источник
В Ubuntu 16.04 (MySQL версии 5.7.13) мне удалось решить проблему с помощью следующих шагов:
Следуйте инструкциям в разделе B.5.3.2.2 Сброс пароля root: Unix и Unix-подобные системы Справочное руководство по MySQL 5.7
Когда я попробовал #sudo mysqld_safe --init-file = / home / me / mysql-init, это не удалось. Ошибка была в /var/log/mysql/error.log
2016-08-10T11: 41: 20.421946Z 0 [Примечание] Запуск init_file '/ home / me / mysql / mysql-init' начался. 2016-08-10T11: 41: 20.422070Z 0 [ОШИБКА] / usr / sbin / mysqld: файл '/ home / me / mysql / mysql-init' не найден (код ошибки: 13 - разрешение отклонено) 2016-08-10T11: 41: 20.422096Z 0 [ОШИБКА] Отмена
Разрешение файла mysql-init не было проблемой, необходимо редактировать разрешение apparmor
Редактировать #sudo vi /etc/apparmor.d/usr.sbin.mysqld
Сделайте #sudo /etc/init.d/apparmor перезагрузить
Запустите mysqld_safe еще раз, попробуйте шаг 2 выше. Проверьте /var/log/mysql/error.log, чтобы убедиться, что нет ошибок и mysqld успешно запущен
Запустите #mysql -u root -p
Введите пароль:
Введите пароль, который вы указали в mysql-init. Теперь вы должны войти в систему как root.
Завершение работы mysqld_safe с помощью #sudo mysqladmin -u root -p shutdown
Запустите mysqld обычным способом, запустив #sudo systemctl.
источник
Если у вас есть MySQL как часть образа Docker (скажем, на порту 6606) и установки Ubuntu (на порту 3306), указать порт недостаточно:
скину
поскольку он пытается подключиться к localhost по умолчанию, указание локального IP-адреса устраняет проблему:
источник
В последних версиях MySQL нет
password
вmysql.user
таблице.Так что вам нужно выполнить
ALTER USER
. Поместите эту однострочную команду в файл.И выполнить его как файл инициализации (как пользователь root или mysql)
MySQL сервер должен быть остановлен для запуска
mysqld_safe
.Кроме того, может быть проблема с разрешениями apparmor для загрузки этого файла инициализации. Подробнее читайте здесь https://blogs.oracle.com/jsmyth/entry/apparmor_and_mysql
источник
Если вы еще не установили пароль, запустите
mysql -uroot
, это работает для меня.источник
На Mac, если у вас возникли проблемы при входе с первым паролем, который вы дали при установке, возможно, вы можете просто убить процесс mysql и затем попробовать.
Итак: 1 - запустите следующую команду, чтобы найти PID mysql:
2- убить процесс:
Затем вы можете войти с помощью первоначального пароля с помощью этой команды:
Которые просят вас ввести свой пароль. Просто введите первоначальный пароль.
источник
У меня была похожая проблема:
Но в моем случае причина была действительно глупой. Я скопировал команду из документа Word, и проблема заключалась в том, что у дефиса был не ASCII 2D-код, а Unicode E28093.
Неправильный способ:
Правильно:
Оба выглядят одинаково, но не одинаково (попробуйте, скопируйте и вставьте, заменив пароль).
Столкнувшись с этим типом ошибки, рекомендуется попробовать набрать команду вместо копирования и вставки.
источник
Я попытался с правильным ответом @Lahiru, но не работал с сервером MySQL версии 8.0.16 (Community) на MacOS Mojave.
Следуя инструкциям Sameer Choudhary, приведенным выше, и с некоторыми изменениями я смог изменить пароль root и включить root-доступ с localhost.
Обновление: все это не требуется, если вы устанавливаете на Mac OS, используя homebrew: "brew install mysql"
источник
У меня была эта проблема с Ubuntu 18.04 LTS и Mysql Server версии 5.7.27-0ubuntu0.18.04.1 (Ubuntu).
Мое решение было (работает как root с
sudo -i
)источник
Я также столкнулся с той же проблемой, что я сделал,
1) Откройте ваш cmd
2) Перейдите в C: \ Program Files \ MySQL \ MySQL Server 8.0 \ bin> (где MySQL Server 8.0 может отличаться в зависимости от установленного сервера)
3) Затем введите следующую команду: mysql -u root -p
4) Я буду запрашивать пароль ... просто нажмите Enter, так как иногда пароль, который вы вводили при установке, заменяется пустым.
теперь вы можете просто получить доступ к базе данных
Это решение работало для меня на платформе Windows
источник
Хотя верхний ответ (w / mysqladmin) работал на Mac 10.15, он не работал на Ubuntu. Затем попробовал многие другие опции, включая безопасный запуск для mysql, но ни одна из них не сработала. Таким образом добавив новый ответ.
По крайней мере, для версии, которую я получил,
5.7.28-0ubuntu0.18.04.4
ответов не хваталоIDENTIFIED WITH mysql_native_password
. 5.7.28 является значением по умолчанию для текущей LTS и, следовательно, должно быть значением по умолчанию для большинства новых новых систем (до 20.04 LTS выходит).Найдено: https://www.digitalocean.com/community/questions/can-t-set-root-password-mysql-server и теперь применяется
который работает.
источник
Ошибка, с которой я столкнулся, была
это была проблема с работающим портом.
По умолчанию MySQL работает
port 3306
.Вы можете проверить это, запустив
в 32-битной системе:
sudo /opt/lampp/manager-linux.run
в 64-битной системе:
sudo /opt/lampp/manager-linux-x64.run
и нажмите на
configure
кнопкуВ моем случае порт работал на 3307, и команда, которую я использовал, была
источник
В моем случае я пытался передать оболочкакоманда к контейнеру. В этом случае только первое слово было интерпретировано. Убедитесь, что вы не работаете:
в отличие от:
возможно попробуйте процитировать:
источник