Доступ запрещен для пользователя root в командной строке MySQL
Я только что установил xampp и использую командную строку для написания mySQL.
Я использую "root" без пароля и могу подключиться к mysql, но не могу CREATE DATABASE
, поскольку получаю ошибку 1044 access denied for user '' @ 'localhost'
. Я зарегистрирован как -uroot
.
У меня есть привилегии в phpMyadmin, чтобы делать то, что я хочу, но в командной строке у меня нет прав на запись. Я просмотрел все другие связанные записи в этой теме, но безрезультатно. Я не могу пользоваться привилегиями GRANT, поскольку у меня их нет.
Ответы
Ответ 1
Я снова установил соединитель ODBC и сразу установил mySQL (кроме xampp), и теперь он работает. Я думаю, это была проблема с коннектором, поскольку SHOW DATABASES фактически не показывали мои базы данных.
Мой "корневой" логин не получал доступ к БД, поэтому казалось, что он имеет ограниченные привилегии, но на самом деле он не был подключен должным образом.
Ответ 2
Заходите ли вы в MySQL как root? Вы должны явно предоставлять привилегии своей "обычной" учетной записи пользователя MySQL во время входа в систему в качестве корня MySQL.
Сначала настройте учетную запись root для своей базы данных MySQL.
В типе терминала:
mysqladmin -u root password 'password'
Чтобы войти в MySQL, используйте это:
mysql -u root -p
Чтобы установить привилегии, вручную запустите сервер с помощью опции skip-grant-tables, откройте клиент mysql и вручную обновите таблицу mysql.user и/или таблицы mysql.db. Это может быть утомительной задачей, хотя, если вам нужна учетная запись со всеми привилегиями, я бы сделал следующее.
Запустите сервер с опцией skip-grant-tables
Запустите клиент mysql (без имени пользователя/пароля)
Выполните команду
flush privileges;
который заставляет загружать таблицы предоставления.
Создайте новую учетную запись с командой GRANT примерно так (но заменив имя пользователя и пароль тем, что вы хотите использовать.
GRANT ALL on *.* to 'username'@'localhost' identified by 'password';
Перезагрузите сервер в обычном режиме (без таблиц-скинов) и войдите в свою новую созданную учетную запись.
Обратитесь к этому MySQL docs.
Ответ 3
перейдите к C:\xampp\mysql\bin\и убедитесь, что файл mysql.exe находится в этой папке.
mysql -uroot -p
Если у вас нет пароля, просто нажмите enter.
подсказка изменится на
mysql>
выполните ваши команды mysql
Ответ 4
По умолчанию для пользователя root в XAMPP не установлен пароль.
Вы можете установить пароль для пользователя root из MySQL.
Перейдите к
локальный: 80/безопасность/index.php
и установите пароль для пользователя root.
Примечание. Пожалуйста, измените номер порта в указанном выше URL-адресе, если ваш Apache находится в другом порту.
Откройте панель управления XAMPP Нажмите кнопку "Shell"
Окно командной строки откроется теперь в этом типе окна
mysql -u root -p;
Он попросит пароль ввести пароль, который вы установили для пользователя root.
Там вы вошли в систему как пользователь root: D Теперь сделайте то, что вы хотите сделать: P
Ответ 5
Папка имени файла chan для сервера только
и т.д. /MySQL
переименовать
mysql-
Ответ 6
это может помочь Ubuntu:
перейдите в /etc/mysql/my.cnf и прокомментируйте эту строку:
bind-address = 127.0.0.1
Надеюсь, что это поможет кому-то, я тоже искал это время
Приветствия
Ответ 7
У вас не должно быть пробела между -u
и именем пользователя:
mysql -uroot -p
# or
mysql --user=root --password