mkv: Помогите с MSQL

8 сообщений / 0 new
Последнее сообщение
Гость
mkv: Помогите с MSQL

Имеем Slackware 11. Собрал из исходников MySQL 5.0.41. Установился без проблем.
Но при запуске mysqld_safe & подключиться локально к MySQL не получается. Выдет сообщение Can't connect to local MYSQL server through socket /tmp/mysql.sock (его там и на самом деле нет). В запущенных процессах виден со статусом Т, тобишь как Stopped. Убить процесс не получается. Пробовал права выставлять полные - не помогло.
При запуске MySQL как mysqld_safe запускается без проблем.

В чем может быть проблема?

edge (не проверено)

Ну во-первых MSQL это не MySQL, не путай. Во вторых не коннектится правильно, если сокет в другом месте. Тебе надо настроить файлик my.cnf, в котором указать правильно где и что находится, положить его в правильное место, и только потом пробовать запускать. Вот пример файлика из Gentoo:

# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

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

[mysql]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqldump]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[myisamchk]
character-sets-dir=/usr/share/mysql/charsets

[myisampack]
character-sets-dir=/usr/share/mysql/charsets

# use [safe_mysqld] with mysql-3
[mysqld_safe]
err-log = /var/log/mysql/mysql.err

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
character-set-server = utf8
default-character-set = utf8
user = mysql
port = 3306
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysqld.err
basedir = /usr
datadir = /var/lib/mysql
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
server-id = 1

# Uncomment the following if you want to log updates
#log-bin=mysql-bin

# Uncomment the following if you are NOT using BDB tables
#skip-bdb

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

[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 = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

mkv (не проверено)

Так в том то и дело, что сокет и не создается при запуске mysqld_safe &. При указании места, где будет лежать сокет, ничего не изменилось. А неможет быть косяк в правах на каталоги? Потому, что при запуске mysqld_admin без & все вроде работает как положено.

frug (не проверено)

А вот запросто может быть. Действительно, как mysql от своего имени может создать сокет в каталоге, в котором у него просто нет прав на это ?

maax (не проверено)

chmod a+w /tmp && chmod o+t /tmp

может было бы проще показать текущий конфиг и параметры запуска? база инициализирована?

mkv (не проверено)

При указании в my.cnf user=root запускается нормально. В каталоге /tmp создается сокет. При запуске MYSQL как mysqld_safe без & и user=mysql в процессах видно запущенный MySQL от имени пользвателя mysql и все работает. Сокет также создается в каталоге /tmp. Конфиг брал уже готовый из my-medium.cnf (выложу утром).

mkv (не проверено)

Вот мой my.cnf

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

# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.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

#skip-networking
log-bin=mysql-bin

server-id = 1

#server-id = 2

#master-host = <hostname>
#master-user = <username>
#master-password = <password>
#master-port = <port>
#log-bin=mysql-bin

#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname

#bdb_cache_size = 4M
#bdb_max_lock = 10000

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /usr/local/mysql/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var/
innodb_log_arch_dir = /usr/local/mysql/var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[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

На каталог /tmp ставил полные права - эффект тот же.

inna
Не в сети
Зарегистрирован: 21/09/2010

В секции [mysqld] должно быть что-то типа:

pid-file = /var/run/mysqld/mysqld.pid

RSS-материал