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

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Dit_dh в Jun 12, 2007, 17:26



Титла: Стартиране на mysql
Публикувано от: Dit_dh в Jun 12, 2007, 17:26
Работа с Fedora C6.Имам медицинска програма,за която е необходимо да пусна MySQL-сървър.Но ето какво ми се получава:
[root@localhost dit]# mysql start
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
Не съм достатъчно вещ,за да бъркам много ,но и не знъм как да се справя.Моля за помощ!Благодаря предварително!


Титла: Стартиране на mysql
Публикувано от: neter в Jun 12, 2007, 18:27
В my.cnf файла (който е конфигурационния за mysql) пробвай да промениш реда за socket да бъде
Примерен код
socket = /var/run/mysqld/mysqld.sock


Титла: Стартиране на mysql
Публикувано от: Dit_dh в Jun 13, 2007, 09:23
Ще опитам


Титла: Стартиране на mysql
Публикувано от: Hapkoc в Jun 13, 2007, 10:00
Във Fedora (както и в RHEL, CentOS и други) услугите се стартират/спират по следния начин:

service <name> start
service <name> stop

Т.е. за да пуснеш MySQL трябва да напишеш нещо като:

service mysqld start

Това, което си написал (mysql start) стартира MySQL клиент, а не сървър, като се опитва да се свърже към база данни 'start'. Предполагам не е каквото искаш.


Друго - с chkconfig се настройват услугите, които да се стартират при пускане на системата. Ето така:

chkconfig --list
chkconfig <name> on
chkconfig <name> off


Титла: Стартиране на mysql
Публикувано от: neter в Jun 13, 2007, 12:11
О, Hapkoc е наблюдателен, както винаги. Това повече прилича на решение на твоя проблем. Поздрави *DRINK* (като няма икона за бира...)


Титла: Стартиране на mysql
Публикувано от: Dit_dh в Jun 13, 2007, 17:08
Отново Мерси!Изпълних и двата по-горни съвета и сървърът се стартира.Сега остана да ми заработи и програмата.Остава проблемът,че тези,кието ми я изпратиха,препоръчват да я инсталирам и пусна под Slackware.Видях малко зор докато настроя въпросната дистрибуция,но дано тръгне и там.


Титла: Стартиране на mysql
Публикувано от: Dit_dh в Jun 14, 2007, 07:23
На служебния компютър съм с Slackware 11.0 и опитах същите действия,само че не тръгна.
  В директорията /var/run/mysql  нямам нищо?
  Ще продължавам да чета....


Титла: Стартиране на mysql
Публикувано от: neter в Jun 14, 2007, 08:41
Това, че няма нищо във /var/run/mysql означава, че:
вариант 0: MySQL сървъра не е включен - провери дали е включен с командата
Примерен код
ps ax |grep mysql

Ако изкара някакви резултати (освен резултата grep mysql), значи сървъра е включен. Можеш да провериш и с команда
Примерен код
netstat -a |grep mysql

Тя ще ти изведе и къде се намира mysqld.sock файла, ако сървъра е включен.

вариант 1: Стойностите за socket в my.cnf за сървър и за клиент не са еднакви. Провери дали и двете стойности за socket са с един и същи път, а ако искаш pid и sock файловете да са във /var/run/mysqld, то (ако се налага) промени стойностите в my.cnf да изглеждат така
Примерен код
...
[client]
socket = /var/run/mysqld/mysqld.sock
...
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
...


Титла: Стартиране на mysql
Публикувано от: Dit_dh в Jun 14, 2007, 08:50
Пътищата и стойностите са еднакви,а като подам командите се получава ето това:
   root@DStG:~# ps ax |grep mysql
root@DStG:~# netstat -a |grep mysql
root@DStG:~#


Титла: Стартиране на mysql
Публикувано от: Dit_dh в Jun 14, 2007, 08:52
В същност,ето го целия файл:
    # Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)


# The following options will be passed to all MySQL clients
[client]
#password   = your_password
port      = 3306
socket      = /var/run/mysqld/mysqld.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port      = 3306
socket      = /var/run/mysqld/mysqld.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

###################################################################
# vdd
user       = root

default-storage-engine=MYISAM

skip-bdb
skip-innodb


datadir       = /var/lib/mysql
log       = /var/log/mysql/mysql.log
log-error    = /var/log/mysql/error.log
log-slow-queries = /var/log/mysql/slow-queries.log
###################################################################

# Replication Master Server (default)
# binary logging is required for replication
# log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id   = 1

# Replication Slave (comment out master section to use this)
#

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


Титла: Стартиране на mysql
Публикувано от: neter в Jun 14, 2007, 09:32
Аз затова дадох пример как да изглеждат нещата в my.cnf, за да видиш има ли някакъв пропуск там. Ето че има - липсва ти ред за pid-file. Погледни предния ми пост и оправи пропуска в my.cnf. Pid файловете са тези, които пазят номера на процеса, когато той бъде пуснат и тъй като в случая липсва описание къде да се създаде, командите ps и netstat ти вадят празен резултат. Възможно е заради липсващия pid файл да не успява да се включи mysqld като цяло, но не съм сигурен, ти ще си пробваш  ;)


Титла: Стартиране на mysql
Публикувано от: Dit_dh в Jun 14, 2007, 09:44
Благодаря много!И аз го забелязах.Ще го коригирамИзвинявам се още веднъж за отнетото време!