Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: floydian в Jan 04, 2009, 11:01



Титла: Проблем с MYSQL в Fedora 10
Публикувано от: floydian в Jan 04, 2009, 11:01
Здравейте скоро инсталирах Федора 10 и всичко е прекрасно само дето има нещо коетоне разбирам. Инсталирах чрез yum тези пакети mysql mysql-devel mysql-server. Инсталираха се без проблем, mysql се стартира, но немога да вляза в него иска ми парола и когато въведох роот паролата ме изхвърля. Ето и това което въвеждам от шела

[root@localhost floyd]# /etc/init.d/mysqld restart
Спиране на MySQL:                                          [  Да  ]
Стартиране на MySQL:                                       [  Да  ]
[root@localhost floyd]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@localhost floyd]#

Неазбирам защо ми иска парола, след като при нова инсталация не би следвало да има такава. Опитах и още няколко различни начина, но уви нищо не става. Погледнах и в страницата на MYSQL но не намерих подобен казус.

И още нещо четох тук във форума да погледна файла mysql.sock, но нито през конзолата нито никак немога да го отворя, получава се съобщение че не е инсталирана програма за четене и отваряне на такива файлове.

Ще съм благодарен ако някой ми даде съвет или помогне да пусна този  проклет MYSQL .

[root@localhost floyd]# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)







Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: dvasilev в Jan 04, 2009, 11:20
@floydian: Иска ти парола, защото му казваш да ти иска парола. Махни "-p" от командния ред.


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: floydian в Jan 04, 2009, 11:37
Пак така стана

Сега преинсталирах отново пакетите ето какво излиза:

Installed:
  mysql.x86_64 0:5.0.67-2.fc10                                              mysql-devel.x86_64 0:5.0.67-2.fc10                                              mysql-server.x86_64 0:5.0.67-2.fc10

Dependency Installed:
  mysql-libs.x86_64 0:5.0.67-2.fc10                                                                                    perl-DBD-MySQL.x86_64 0:4.005-8.fc9

Complete!
[root@localhost floyd]# chkconfig --levels 235 mysqld on
[root@localhost floyd]# /etc/init.d/mysqld start
Стартиране на MySQL:                                       [  Да  ]
[root@localhost floyd]# netstat -tap | grep mysql
tcp        0      0 *:mysql                     *:*                         LISTEN      3317/mysqld
[root@localhost floyd]# /etc/init.d/mysqld restart
Спиране на MySQL:                                          [  Да  ]
Стартиране на MySQL:                                       [  Да  ]
[root@localhost floyd]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Понеже съм доста начинаещ в Линукс, но пък ми е страшно интересно се зачетох на разни места и всъщност последователността за инсталацията и стартирането я взех от тук( ако има някакво значение)

http://www.howtoforge.com/perfect-server-fedora-10-p ($2)


И още нещо забелязах, че при всяка инсталация започва да "слуша" на различни портове сегга е 3317, как да го накарам да "слуша" на 3306?

Благодаря


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: neter в Jan 04, 2009, 12:55
Потребителят root на MySQL не е потребителят root на системата. Това са два съвсем различни потребителя root. MySQL се инсталира с не активиран потребител root. За да го активираш, трябва да му зададеш парола. Номерът се случва със следната команда
Код
GeSHi (Bash):
  1. mysqladmin -u root password ПАРОЛА
Напиши желаната парола на мястото на ПАРОЛА. Портът на MySQL сървъра, както и всички настройки на MySQL сървъра, се задават в my.cnf файла, който можеш да намериш в папката /etc или в папката /etc/mysql (не съм сигурен къде е по подразбиране във Fedora). Трябва да рестартираш MySQL сървъра след промени по my.cnf файла ;)


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: VladSun в Jan 04, 2009, 13:22
[root@localhost floyd]# netstat -tap | grep mysql
tcp        0      0 *:mysql                     *:*                         LISTEN      3317/mysqld
....
И още нещо забелязах, че при всяка инсталация започва да "слуша" на различни портове сегга е 3317, как да го накарам да "слуша" на 3306?

3317 в случая е PID-ът на MySQL процеса. *:mysql  всъщност е *:3306 - ако ползваш
Код
GeSHi (Bash):
  1. netstat -ntap | grep mysql
ще виждаш портовете в числен вид, а не като име на услугата.


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: neter в Jan 04, 2009, 13:44
О, да, точно така. Наблюдателен си и днес VladSun, въобще не обърнах внимание :) Само едно уточнение. Надписът "mysql" там не е име на услугата, а е име на порта. Независимо какъв процес се пусне да слуша на порт 3306, там пак ще пише "mysql". Съвсем спокойно може да пише и например
Цитат
tcp        0      0 *:mysql                     *:*                         LISTEN      3317/apache2
Тук ($2) има един списък на имената на портовете, ако на някой му е интересно да ги види.


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: floydian в Jan 04, 2009, 13:48
Потребителят root на MySQL не е потребителят root на системата. Това са два съвсем различни потребителя root. MySQL се инсталира с не активиран потребител root. За да го активираш, трябва да му зададеш парола. Номерът се случва със следната команда
Код
GeSHi (Bash):
  1. mysqladmin -u root password ПАРОЛА
Напиши желаната парола на мястото на ПАРОЛА. Портът на MySQL сървъра, както и всички настройки на MySQL сървъра, се задават в my.cnf файла, който можеш да намериш в папката /etc или в папката /etc/mysql (не съм сигурен къде е по подразбиране във Fedora). Трябва да рестартираш MySQL сървъра след промени по my.cnf файла ;)

Благодаря ти,

На мен поне това ми е ясно, че са два различни потребителя. Сега реших и преинсталирах Федора с надежда нещо да се промени, но всичко си остана все така.

[root@localhost floyd]# /etc/init.d/mysqld start
Инициализиране на MySQL база-данни:  Installing MySQL system tables...
ERROR: 1062  Duplicate entry 'localhost-' for key 1
090104 13:31:58 [ERROR] Aborting

090104 13:31:58 [Note] /usr/libexec/mysqld: Shutdown complete

Installation of system tables failed!

Examine the logs in /var/lib/mysql for more information.
You can try to start the mysqld daemon with:
/usr/libexec/mysqld --skip-grant &
and use the command line tool
/usr/bin/mysql to connect to the mysql
database and look at the grant tables:

shell> /usr/bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /var/lib/mysql that may be helpful.

The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/bin/mysqlbug script!
                                                           [Провал]
[root@localhost floyd]# chkconfig --levels 235 mysqld on
[root@localhost floyd]# /etc/init.d/mysqld start
Стартиране на MySQL:                                       [  Да  ]
[root@localhost floyd]# netstat -tap | grep mysql
tcp        0      0 *:mysql                     *:*                         LISTEN      3004/mysqld         
[root@localhost floyd]# /etc/init.d/mysqld restart
Спиране на MySQL:                                          [  Да  ]
Стартиране на MySQL:                                       [  Да  ]
[root@localhost floyd]# netstat -ntap | grep mysql
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3125/mysqld         
[root@localhost floyd]# mysqladmin -u root password 123456
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[root@localhost floyd]# mysqladmin -h localhost -u root password 123456
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[root@localhost floyd]# /etc/init.d/mysqld restart
Спиране на MySQL:                                          [  Да  ]
Стартиране на MySQL:                                       [  Да  ]
[root@localhost floyd]# mysqladmin -u root password 123456
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'


Направих гокакто ми пишеш но изглежда или това си слага само някаква парола или незнам изобщо какво става.

Това е съдържанието на my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring="nodeid=4;host=localhost:1186"

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
connect-string="nodeid=2;host=localhost:1186"

"my.cnf" 26L, 849C

Вече се отчаях и ще се откажа


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: nedpetko в Jan 04, 2009, 13:59
Всички команди в mysql завършват с ;
т.е. командата изглежда по следния начин:
Код
GeSHi (Bash):
  1. mysql> show databases;
  2. mysql> show tables;
Иначе от собствен опит мога да кажа, че не работи никоя команда :)


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: floydian в Jan 04, 2009, 14:13
Проблема е че немога да "вляза" в MYSQL 

[root@localhost floyd]# /etc/init.d/mysqld restart
Спиране на MySQL:                                          [  Да  ]
Стартиране на MySQL:                                       [  Да  ]
[root@localhost floyd]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Ако пък въведа

[root@localhost floyd]# mysql -u root -p
Иска парола дето не я знам. А не позволява и да я сменя


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: nedpetko в Jan 04, 2009, 14:35
Код
GeSHi (Bash):
  1. $mysql
  2. mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass')
  3.    ->                   WHERE User='root';
  4. mysql> FLUSH PRIVILEGES;
Източник:
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html ($2)

В Дебиан този проблем се решава с преконфигуриране на mysql, при Федора не знам командата, но потърси аналог на:
Код
GeSHi (Bash):
  1. dpkg-reconfigure mysql-server-5.1

edit:
Досега си издирвах свестния източник, който използвам от време на време и ето го:
http://www.gentoo.org/doc/en/mysql-howto.xml ($2)


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: neter в Jan 04, 2009, 15:14
Хмм... явно наистина имаш зададена root парола поради някаква причина. Тук ($2) има едно кратко и ясно ръководство как можеш да смениш root паролата ;)


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: floydian в Jan 04, 2009, 15:32
Благодаря Ви ще опитам чрез това ръководство да направя нещо.


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: VladSun в Jan 04, 2009, 15:56
Само едно уточнение. Надписът "mysql" там не е име на услугата, а е име на порта. Независимо какъв процес се пусне да слуша на порт 3306, там пак ще пише "mysql".
Това имах предвид и аз - да се разбира като "име на услугата, която се ползва по подразбиране (по предписание на IANA) този порт"

Според мен нещо не са инициализирани системните таблици на MySQL-а както трябва.


Титла: Re: Проблем с MYSQL в Fedora 10
Публикувано от: Djuroff в Jan 04, 2009, 18:42
http://www.fedoraguide.info/index.php?title=Main_Page#Database_Server_.28mysql.29

http://www.howtoforge.com/installing-nginx-with-php5-and-mysql-support-on-fedora-10

http://www.howtoforge.com/perfect-server-fedora-10-p4