Подтвердить что ты не робот

Доступ запрещен для пользователя root в командной строке MySQL

Я только что установил xampp и использую командную строку для написания mySQL. Я использую "root" без пароля и могу подключиться к mysql, но не могу CREATE DATABASE, поскольку получаю ошибку 1044 access denied for user '' @ 'localhost'. Я зарегистрирован как -uroot.

У меня есть привилегии в phpMyadmin, чтобы делать то, что я хочу, но в командной строке у меня нет прав на запись. Я просмотрел все другие связанные записи в этой теме, но безрезультатно. Я не могу пользоваться привилегиями GRANT, поскольку у меня их нет.

4b9b3361

Ответ 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