Всем здравствуйте! Для работы с PHP и тестирования страничек, был установлен и настроен сервер apache+php+mysql. OS Linux Mandriva 2008.1. Сервер баз данных установлен, я проверил php.ini и наличие в нем строк которые должны быть раскоментированы
extension=mysql.so
mysql.default_port =
mysql.default_socket =
mysql.default_host = localhost
mysql,default_user =
mysql.default_password =
Теперь мне необходимо запустить его (как не совсем понятно?) и организовать его запуск таким образом что бы при последующей загрузки он стартовал раньше сервера apache, во избежании ошибки обращения к базе, подскажите каким образом это можно сделать ???
Может не MSSql а MySQL?
service mysql start
в мандриве MySQL стартует вперед Apache
можете убедиться сами вывод команды
ls /etc/rc.d/rc3.d
ищем mysql(mysql-max) и httpd и смотрим у кого цифра после S меньше тот и стартует раньше
Здравствуйте! Все запустилось СПАСИБО! Запустить не мог по причине ошибки в названии службы "mysqld", в статьях везде по разному пишут, как вы и говорили, нужно придерживаться своей платформы на которой работаешь! :D
[root@localhost shiko]# service mysqld start
MySQL is allready running: [ OK ]
[root@localhost shiko]# ls /etc/rc.d/rc3.d
K09dm@ S13partmon@ S29numlock@ S53avahi-daemon@ S54netfs@ S81winbind@ S95kheader@
K49netconsole@ S14acpid@ S40atd@ S53consolekit@ S54nfs-common@ S90crond@ S99local@
S03iptables@ S17alsa@ S50resolvconf@ S53cups@ S55keytable@ S90squid@
S04acpi@ S18sound@ S50syslog@ S53portmap@ S55mysqld@ S91smb@
S04dkms@ S24messagebus@ S51network@ S53shorewall@ S55sshd@ S92httpd@
S05harddrake@ S25haldaemon@ S52network-up@ S54mandi@ S80postfix@ S92lisa@
С очередностью запуска тоже все нормально, я и не предполагал, что будет так просто, само все запустилось и встало в нужном порядке и не надо ничего править.
Здравствуйте! Подскажите пожалуйста, вот я в целях удобной работы с базой данных MySQL установил phpmyadmin, который позволяет работать с базой через web-приложение. Запустив скрипт он мне предложил войти и ввести логин и пароль, которые я должен был установить на базу после ее установки т.е авторизовать ее. У меня вызывает сомнение команда:
mysql -u root -e "update user set password=password('new_password') where user='root'" mysql
сомнение в плане того как все таки корректно построить команду, куда вбивать пользователя а куда пароль, поскольку я с этими комментариями (пояснениями) в конец запутался :(, понаставят понимаешь кавычек, пойди разберись потом, нет чтоб просто реальный пример команды дать.
А без авторизации меня не пропускает к базе phpmyadmin :D
ЦитироватьЗдравствуйте! Подскажите пожалуйста, вот я в целях удобной работы с базой данных MySQL установил phpmyadmin, который позволяет работать с базой через web-приложение. Запустив скрипт он мне предложил войти и ввести логин и пароль, которые я должен был установить на базу после ее установки т.е авторизовать ее. У меня вызывает сомнение команда:
mysql -u root -e "update user set password=password('new_password') where user='root'" mysql
сомнение в плане того как все таки корректно построить команду, куда вбивать пользователя а куда пароль, поскольку я с этими комментариями (пояснениями) в конец запутался :(, понаставят понимаешь кавычек, пойди разберись потом, нет чтоб просто реальный пример команды дать.
А без авторизации меня не пропускает к базе phpmyadmin :D
Команда построена правильно.
Итак, пойдем по пунктам.
mysql
-u root -e "update user set password=password('new_password') where user='root'" mysql
-u root - выполнить вход от рута. По умолчанию root@localhost на мускуле без пароля.
mysql -u root -e "update user set password=password('new_password') where user='root'"
mysqlИспользовать базу mysql - служебная база данных.
и выполнить команду
update user set password=password('new_password') where user='root
В таблице user находятся все пользователи базы данных.
Можешь сам посмотреть у кого какие права доступа -
select * from mysql.user G
Ну и меняем пароль у рута = password=password('new_password')
функция password("new_password") возвращает закодированный пароль.
Вышеприведенная команда идентична
localhost#mysql -u root
mysql> use mysql;
mysql> update user set password=password("new_pass") where user="root";
mysql> exit
Да всеравно не получается, войти в phpmyadmin. Дал вот эту команду:
mysql -u root -e "update user set password=password('new_password') where user='root'" mysql
вместо ('new_password') вбил новый пароль для root-a, после чего загружаю http://localhost/phpmyadmin/index.php (//\"http://localhost/phpmyadmin/index.php\") и в загрузившейся странички phpmyadmin ввожу:
login: root
password: ********
ДАЛЕЕ - inter
После чего выдает:
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
что то не так сделал?
Из консоли под данными учетными данными войти можешь?
Даю вот эту команду в консоли
#mysql -u root
сервер пропускает, а почему тормозит меня при входе в phpmyadmin не понятно ???
ЦитироватьДаю вот эту команду в консоли
#mysql -u root
сервер пропускает, а почему тормозит меня при входе в phpmyadmin не понятно ???
А пароль не спрашивает в консоли? :o
Значит у тебя рут без пароля.
Выполни не командой, а той последовательносью команд, что я писал выше.
Пароль в консоли не спрашивает :(
Сделал все как вы сказали в лучшем виде:
[root@localhost shiko]# mysql -u root
Welcome to the MySQL monitor. Commands end with; or g.
Your MySQL connection id is 199
Server version: 5.0.45 Mandriva Linux - MySQL Standard Edition (GPL)
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> exit
Bye
[root@localhost shiko]# mysql -u root
Welcome to the MySQL monitor. Commands end with; or g.
Your MySQL connection id is 267
Server version: 5.0.45 Mandriva Linux - MySQL Standard Edition (GPL)
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> use mysql;
Database changed
mysql> update user set password=password('Fk5dj$aS') where user="root";
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> exit
Bye
жаль только результат отрицательный, все равно не пропускает, может ошибка происходит еще по причине:
Невозможно загрузить расширение mcrypt! Проверьте настройки PHP.
это сообщение у меня светится внизу после полей ввода логина и пароля, это может быть причиной проблемы? Честно говоря для того что бы тупо войти в базу я думаю связь с php не нужна, поэтому скорей всего вряд ли. ТОГДА НИЧЕГО НЕПОНИМАЮ!!!
А МОЖЕТ НУЖНО ПРОСТО ПЕРЕЗАГРУЗИТЬ СЛУЖБЫ И ВСЕ?!
Тебя должно было перестать пускать под рутом без пароля.
Дай вывод команды
select User,Host,Password from mysql.user;
вот что выдал:
mysql> select User,Host,Password from mysql.user;
+------+-----------+------------------+
| User | Host | Password |
+------+-----------+------------------+
| root | localhost | 48f380ba412e6f2a |
| root | 127.0.0.1 | 48f380ba412e6f2a |
+------+-----------+------------------+
2 rows in set (0.00 sec)
может я спользователем на мудрил когда устанавливал phpmyadmin, я всем каталогам и файлам в директории "phpmyadmin" задал как ''root.apache''
Вроде все правильно.
Щас только заметил про невозможность загрузки модуля mcript.
Я в php не слишком силен, но похоже на нужную вешь :)
Цитироватьэто сообщение у меня светится внизу после полей ввода логина и пароля, это может быть причиной проблемы? Честно говоря для того что бы тупо войти в базу я думаю связь с php не нужна
Как это не нужна? PHP это и есть фактически обработчик событий, приходящих от браузера. для входа с консоли - не нужна.
т.е получается что браузер возможно не может корректно обработать запрос при вводе логина и пароля из за этой ошибки? Так
Но тогда почему, меня пропускает в базу без пароля из консоли, когда он должен его у меня спросить?
Можно ли мне переименовывать БД? Как это сделать из-под "mysql -u root -p" ?
официальная документация дает мне RENAME - но у меня не получается им воспользоваться.
Цитата: jillsmitt от 03 Декабря 2009, 14:41Можно ли мне переименовывать БД? Как это сделать из-под "mysql -u root -p" ?
официальная документация дает мне RENAME - но у меня не получается им воспользоваться.
В мускуле rename database появился, но очень быстро исчез, и вообще им не рекомендуют пользоваться (http://dev.mysql.com/doc/refman/5.1/en/rename-database.html). Нужно сделать дамп базы и залить в другую базу. Либо обычным дампом, либо просто на лету.
mysqladmin -u "username" -p "password" create new_db_name
mysqldump -u "username" -p "password" old_db_name | mysql -u "username" -p "password" new_db_name
Есть еще вариант переименовать папку базы,(только при остановленном мускуле!!!), но не рекомендую это делать. Надо перераздать привилегии и поправить в служебных таблицах кое что. (в mysql.db как минимум, мускуля под рукой нет). Говорят только с MyISAM работает. В общем нафиг.