mysql - jak uruchomić serwer inny niż root w systemie Linux (redhat)

0

Zainstalowałem mysql 5.7 (rozpakowany skompresowany plik binarny) na maszynie RedHat 6 (64-bitowej), na której nie mam uprawnień roota.

Postępuję zgodnie z tym samouczkiem, aby uruchomić serwer SQL i zainicjować bazę danych, ale dostaję błędy. Rozwiązanie zamieszczone tutaj również zawiera błędy i zaleca się, aby nie używać mysql_install_dbjuż jako przestarzałe.

Co zrobiłem do tej pory : Rozpakowałem plik binarny do katalogu /home/username/mysql/(zapisanego w zmiennej $MYSQL_HOME) i tam utworzyłem folder data/i log/. Tworzę również dwa pliki my.iniimy.cnf

my.cnf

[mysqld]
user=mysqluser

my.ini

export BASE_DIR=$MYSQL_HOME
export DATADIR=$BASE_DIR/data

Od $MYSQL_HOME/mysql-install-folder/binuciekam

./mysqld --user=mysqluser 
    --datadir=$DATADIR 
    --basedir=$MYSQL_HOME 
    --log-error=$MYSQL_HOME/log/mysql.err 
    --pid-file=$MYSQL_HOME/mysql.pid 
    --socket=$MYSQL_HOME/socket 
    --port=3306 
    --initialize

Jednak dostaję ten błąd

 323$ ./mysqld --user=quad --datadir=$DATADIR --basedir=$MYSQL_HOME --log-error=$MYSQL_HOME/log/mysql.err --pid-file=$MYSQL_HOME/mysql.pid --socket=$MYSQL_HOME/socket --port=3306 --initialize
2018-03-26T18:12:22.795302Z 0 [Warning] Ignoring user change to 'mysqluser' because the user was set to 'mysql' earlier on the command line

2018-03-26T18:12:22.795338Z 0 [Warning] Ignoring user change to 'mysqluser' because the user was set to 'mysql' earlier on the command line

2018-03-26T18:12:22.795352Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-03-26T18:12:22.795410Z 0 [ERROR] Can't find error-message file '/home/username/mysql/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2018-03-26T18:12:22.797158Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2018-03-26T18:12:22.797183Z 0 [ERROR] Aborting

Przede wszystkim nie rozumiem, dlaczego nie zastępuje nazwy użytkownika, mysqla następnie błąd związany z plikiem komunikatu o błędzie jest dla mnie dość tajemniczy.

EDYTOWAĆ

Postępowałem zgodnie z instrukcjami tutaj , teraz mam ten plik konfiguracyjny w /home/username/mysql:

my.cnf

[mysqld]
port=3306
socket=[Base MySQL Directory]/thesock
basedir=[Base MySQL Directory]
datadir=[Base MySQL Directory]/data
log-error=[Base MySQL Directory]/data/mysql.err
pid-file=[Base MySQL Directory]/mysql.pid
user=username

[client]
port=3306
socket=[Base MySQL Directory]/thesock
user=username

[mysqladmin]
socket=[Base MySQL Directory]/thesock
user=username

Kiedy skonfiguruję serwer za pomocą

./mysqld --defaults-file=$MYSQL_HOME/my.cnf&

pokazuje mi, że chyba identyfikator procesu

[2] 2281405

ale kiedy próbuję uruchomić klienta

./mysql --defaults-file=/home/SHD_xnqu/mysql/my.cnf

zgłasza błąd

ERROR 1045 (28000): Unknown error 1045

Dzięki za pomoc

tenticon
źródło