Установка MySQL под Linux из бинарников: нету прав рута

Krisha

pain in the neck
Установка MySQL под Linux из бинарников: нету прав рута

Ситуация следующая:

Есть сервер на котором установлен апач+мускуль+пхп, у меня есть определенный уровень доступа к этому серверу. Сегодня попросил админа, чтобы он поапдейтил мускуль и пхп, получил ответ, что я могу сам себе настроить под своим юзером это всё дело и прав рута типа даже не нужно.

Скачал я mysql-standard-4.0.18-pc-linux-i686.tar.gz, распаковал, положил себе в home/myname/progs/mysql
а чего дальше делать ? В инструкции описан процесс инсталяции от рута, а мне как быть ?
 

Апельсин

Оранжевое создание
да тоже самое, mysql_install_db запускаешь, проверяешь все права, прописываешь настройки в файле и запускаешь
./bin/mysqld_safe --defaults-file=/path/to/the/my.cnf &
 

Krisha

pain in the neck
Автор оригинала: Апельсин
mysql_install_db запускаешь
bash-2.05$ ./mysql_install_db
Didn't find ./bin/mysqld
You should do a 'make install' before executing this script

проверяешь все права
А где проверять и какие должны быть?

прописываешь настройки в файле и запускаешь
В каком файле и какие настройки ?
 

Апельсин

Оранжевое создание
> You should do a 'make install' before executing this script

cd mysql_installation_dir
./scripts/mysql_install_db --user=krisha

> А где проверять и какие должны быть?

ну что бы у тебя были права на чтение/запись в директорию данных

> В каком файле и какие настройки ?

в файле, который ты потом будешь указывать в опции --defaults-file

прописываешь basedir, datedir, socket, port, pid-file, character-sets-dir, language
 

Krisha

pain in the neck
Автор оригинала: Апельсин
cd mysql_installation_dir
./scripts/mysql_install_db --user=krisha
Код:
bash-2.05$ ./scripts/mysql_install_db --user=macks
Installing all prepared tables
040310 19:34:15  ./bin/mysqld: File '/var/lib/mysql/logs/ddiweb.1' not found (Errcode: 13)
040310 19:34:15  Could not use /var/lib/mysql/logs/ddiweb for 
logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.

040310 19:34:15  ./bin/mysqld: Shutdown Complete
....
bla bla bla
Так и должно быть ?

ну что бы у тебя были права на чтение/запись в директорию данных
права стоят 755 юзер и группа - я сам

прописываешь basedir, datedir, socket, port, pid-file, character-sets-dir, language
Код:
/home/macks/my.cnf:
[client]
port=3307

[mysqld]
user=macks
port=3307

basedir=/home/macks/progs/mysql
datadir=/home/macks/progs/mysql/data

socket=/home/macks/mysql.sock
pid-file=/home/macks/ddiweb.pid
log=/home/macks/mysql.log
в файле, который ты потом будешь указывать в опции --defaults-file
Код:
bash-2.05$ ./mysqld_safe --defaults-file=/home/macks/my.cnf &
[2] 25445
И что теперь ? :)
 

Апельсин

Оранжевое создание
ну и что?
запустился или нет сервер?
если нет, то что пишет логах?
 

Krisha

pain in the neck
Код:
bash-2.05$ mysqld
040311 10:56:24  Can't start server: Bind on TCP/IP port: Address already in use
040311 10:56:24  Do you already have another mysqld server running on port: 3306 ?
040311 10:56:24  Aborting

040311 10:56:24  mysqld: Shutdown Complete
-~{}~ 11.03.04 11:02:

Код:
bash-2.05$  mysqladmin shutdown
mysqladmin: shutdown failed; error: 'Access denied for user: '@localhost' (Using password: NO)'
 

ys

отодвинутый новичок
Krisha

а что он у тебя на порт 3306 вместо 3307 ?
Скажи ему явно:
mysqld -p=3307

А вообще он просто не находит my.cnf вроде как, лепит дефолтные установки

2. И собери наконец из исходников :) не такая уж проблемма,
в командах
./configure ....
make
make install

3. mysqld,mysql, mysqladmin: уверен что нужный запускается? попробуй запускать с полным путем ...
 

Krisha

pain in the neck
ys
Скачал, собрал, потом сделал:

./bin/mysqld_safe --defaults-file=/home/macks/progs/mysql/my.cnf &

и

./bin/mysql_install_db --user=macks

пытаюсь запускать:

./bin/mysqld - пишет No such file or directory

если просто пишу:

mysqld ( или mysqld -P 3307) - всё тоже сообщение, что сервер запущен уже
 

ys

отодвинутый новичок
./bin/mysqld - пишет No such file or directory
А как это нету?

ls -l ./bin/mysqld

Ps.: а скорее ./sbin/mysqld
 

Krisha

pain in the neck
ys
Вот так, нету в папке с /mysql/bin/ файла mysqld, ./sbin/ в папке с мускулем тоже нету...
 

ys

отодвинутый новичок
Так. Стоп. Что ты поставил?
Есть два пакаджа:
1. mysql client
2. mysql server

сдается мне, что второе не установленно или не собрано..
 

Krisha

pain in the neck
скачал mysql-4.0.18.tar.gz, распаковал, и сделал:

./configure --prefix=path
make
make install

всё
 

ys

отодвинутый новичок
Специально сделал.

в своем home директорию sql


tar xvzf mysql-4.0.18.tar.gz
./configure ./configure --without-debug --without-readline --without-bench --without-extra-tools --prefix=/home/ys/sql
make
make install
./scripts/mysql_install_db --user=ys

cd /home/ys/sql
mkdir etc

создал etc/my.cnf:

[client]
port=3307

[mysqld]
user=ys
port=3307
basedir=/home/ys/sql
datadir=/home/ys/sql/var
socket=/home/ys/sql/mysql.sock
pid-file=/home/ys/sql/ddiweb.pid
log=/home/ys/sql/mysql.log

запустил:
./bin/mysqld_safe --defaults-file=/home/ys/sql/etc/my.cnf &
запустилось.

$netstat -la | grep 3307
tcp4 0 0 *.3307 *.* LISTEN

$mysql -S /home/ys/sql/mysql.sock -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.18-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
mysql>


Все работает, проверяй грабли у себя.

p.s: mysqld лежит в ./libexec/mysqld :)
 

Krisha

pain in the neck
Всё сделал как ты написал, за исключением того, что папки scripts нету у меня, забускал из bin:

bash-2.05$ ./bin/mysqld_safe --defaults-file=/home/macks/progs/mysql/etc/my.cnf &
[4] 14193

bash-2.05$ mysql -S /home/macks/progs/mysql/mysql.sock -u root
ERROR 2002: Can't connect to local MySQL server through socket '/home/macks/progs/mysql/mysql.sock' (2)

[4]+ Stopped ./bin/mysqld_safe --defaults-file=/home/macks/progs/mysql/etc/my.cnf
 

Krisha

pain in the neck
Мда, короче в результате админ сам всё поставил....
Всем спасибо.

P.S. Думаю, что всё таки дело было в каких-то настройках админа, так как локально я себе всё прекрассно под ASP Linux ставил и всё работало.
 

ys

отодвинутый новичок
Krisha

Скорее всего он порт 3307 уже поимел под свои нужды :)
 
Сверху