2014-11-25 2 views
1

Я установил MySQL на CentOS linux и пытаюсь установить пароль root. С этой целью я принял следующие шаги:установка пароля mysql root в CentOS linux

1.) I opened the terminal and typed in `su - ` to run as root. 
2.) I then ran `mysql - u root`, which resulted in a lot of output and another prompt. 
3.) I then typed in `UPDATE mysql.user SET Password=PASSWORD('NewPassHere') 
    WHERE User='root';` 

Но шаг 3 произвели следующее сообщение об ошибке:

-bash: syntax error near unexpected token `(' 

Когда я изменить шаг 3, чтобы UPDATE mysql.user SET Password='NewPassHere' WHERE User='root';, я получаю следующее сообщение об ошибке:

bash: UPDATE: command not found... 

Как я могу устранить эту ошибку, чтобы успешно установить пароль root в MySQL?


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

[[email protected] ~]# /usr/bin/mysqladmin -u root password 'newpwd' 
/usr/bin/mysqladmin: connect to server at 'localhost' failed 
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' 
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists! 

Следующие две команды также имели следующие два результата:

[[email protected] ~]# sudo service mysqld status 
Redirecting to /bin/systemctl status mysqld.service 
mysqld.service 
    Loaded: not-found (Reason: No such file or directory) 
    Active: inactive (dead) 

[[email protected] ~]# sudo service mysqld start 
Redirecting to /bin/systemctl start mysqld.service 
Failed to issue method call: Unit mysqld.service failed to load: No such file or directory. 

ОТВЕТ:


Решение этой проблемы состояло в том, чтобы удалить mysql, используя yum remove, а затем явно следовать за the steps in this tutorial. Тем не менее, я отмечаю ответ Чака ниже, как принято, потому что он так много времени смотрел на это.

ответ

2

Обычно я использую mysqladmin для установки пароля root. На CENTOS 6, попробуйте:

/usr/bin/mysqladmin -u root password 'new-password' 

Это предполагает, что вы установку корневого пароля для новенькой установки и корневой пароль в настоящее время не существует. Если у вас уже есть пароль root, вам нужно добавить -p в конец этой команды и ввести текущий пароль root mysql.

Обратите внимание, что это установит пароль для пользователя root @ localhost. Как только вы сможете войти в mysql, вы должны запустить запрос, чтобы узнать, сколько корневых пользователей действительно существует. Вероятно, вы должны увидеть как минимум два (root @ localhost, [email protected]) в зависимости от версии и платформы. Вам необходимо установить пароль root для каждого хоста отдельно. Из тузда командной строки введите:

SELECT user, host FROM mysql.user WHERE user = 'root'; 

Затем вы можете выйти из MySQL снова и используйте команду mysqladmin, чтобы установить все ваши пароли, на этот раз с -h флагом для указания хоста:

/usr/bin/mysqladmin -u root password 'new-password' -h127.0.0.1 
+0

Уверен ли сервер mysql запущен и работает? 'sudo service mysqld status' покажет вам, если он запущен, и' sudo service mysqld start' должен запустить его, если это не – Chuck

+0

Хм ... Как вы установили mysql и уверены, что он установлен? Попробуйте «mysql» с терминала, чтобы убедиться, что он установлен. Если вы установили через yum, вызов службы должен быть настроен автоматически. Если вы установили какой-либо другой метод, вам может потребоваться установить его вручную. 'shell> cp mysql.server /etc/init.d/mysql; chmod + x/etc/init.d/mysql' должен заставить эту команду работать. Вы также можете проверить здесь: http://dev.mysql.com/doc/refman/5.0/en/automatic-start.html – Chuck

+0

Извините, я скопировал код для создания скрипта init.d с сайта mysql и он включал приглашение оболочки>. Это просто заполнитель для вашего стандартного приглашения на терминал и ничего не значит. Просто начните копировать команду из части 'cp'. – Chuck

1

Я вижу, что OP уже переустановил mysql, но я хотел бы упомянуть CentOS, что вы можете использовать отличную команду, которая обеспечивает вашу установку для производства и устанавливает пароль root mysql в этом процессе.Команда: mysql_secure_installation Вот как это работает

первой установки MySQL с помощью ням

[[email protected] ~]# yum install mysql-server 

затем установить MySQL для запуска при запуске и запустить MySQL

[[email protected] ~]# chkconfig mysqld on 
[[email protected] ~]# service mysqld start 

затем запустить MySQL безопасную установку здесь является образцом вывода: (при первом запуске пароль пользователя mysql пуст, поэтому просто нажмите ввод для первого вопроса)

[[email protected] ~]# mysql_secure_installation 
Enter current password for root (enter for none): 
OK, successfully used password, moving on... 
Set root password? [Y/n] y 
New password: 
Re-enter new password: 
Password updated successfully! 
Remove anonymous users? [Y/n] y 
... Success! 
Disallow root login remotely? [Y/n] n 
... skipping. 
Remove test database and access to it? [Y/n] y 
- Dropping test database... 
... Success! 
- Removing privileges on test database... 
... Success! 
Reload privilege tables now? [Y/n] y 
... Success! 
Cleaning up... 
All done! If you've completed all of the above steps, your MySQL 
installation should now be secure. 
Thanks for using MySQL! 
+0

Спасибо и +1 за то, что нашли время ответить. У меня есть другое сообщение. Вы тоже хотите помочь мне? вот ссылка: http://stackoverflow.com/questions/27138568/editing-tomcat-users-xml-in-centos-7-linux – CodeMed

+0

Я попробую проверить свой ответ, дайте мне знать, если вы не можете получить его, потому что vi может быть сложным – andy1062

Смежные вопросы