Eseguire MariaDB dalla directory dei sorgenti

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

E' possibile eseguire mysqld direttamente dalla directory dei sorgenti (senza lanciare make install).

Avviare mysqld dopo il build su Windows

Su Windows, la directory dei dati viene creata durante il build.

Il modo più semplice per avviare il database dalla riga di comando è il seguente:

  1. Portarsi nella directory in cui si trova mysqld.exe (sottodirectory sql\Debug o sql\Relwithdebinfo della directory di build)
  2. Da qui, eseguire
    mysqld.exe --datadir=..\data --console
    

Come sempre, si possono passare altri argomenti a mysqld, oppure scriverli in un file di configurazione my.ini e passare --defaults-file=path\to\my.ini

Il percorso predefinito in cui Windows cerca il file my.cnf è:

  • GetSystemWindowsDirectory()
  • GetWindowsDirectory()
  • C:\
  • Directory in cui si trova l'eseguibile

Avviare mysqld dopo il build su Unix

Si copi quanto segue nel file '~/.my.cnf'.

Vi sono due righe da modificare: 'data=' e 'language='. Occorre adattarle al proprio ambiente.

# Example mysql config file.
# You can copy this to one of:
# /etc/my.cnf to set global options,
# /mysql-data-dir/my.cnf to get server specific options or
# ~/my.cnf for user specific options.
# 
# One can use all long options that the program supports.
# Run the program with --help to get a list of available options

# This will be passed to all mysql clients
[client]
#password=my_password
#port=3306
#socket=/tmp/mysql.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# The MySQL server
[mysqld]
#port=3306
#socket=/tmp/mysql.sock
# Le tre righe seguenti facevano abortire mysqld 10.0.1-MariaDB (e forse altre versioni)
# skip-locking
# set-variable  = key_buffer=16M
# set-variable  = thread_cache=4
loose-innodb_data_file_path = ibdata1:1000M
loose-mutex-deadlock-detector
gdb

######### Correggere i path seguenti

# Dove si trova il database
data=/path/to/data/dir

# Dove si trovano i sorgenti di mysql/MariaDB + sql/share/english
language=/path/to/src/dir/sql/share/english

[mysqldump]
quick
set-variable = max_allowed_packet=16M

[mysql]
no-auto-rehash

[myisamchk]
set-variable= key_buffer=128M

Con il file al suo posto, ci si porti nella directory dei sorgenti di MariaDB e si esegua:

./scripts/mysql_install_db --srcdir=$PWD --datadir=/path/to/data/dir --user=$LOGNAME

'$PWD' è una variabile di ambiente che punta alla directory corrente. Se si ha aggiunto datadir al file my.cnf, non occorre specificare questa opzione. Inoltre --user=$LOGNAME è necessario quando si usa msqyld 10.0.1-MariaDB (e forse altre versioni).

Avviare mysqld nel debugger:

cd sql
ddd mysqld &

Oppure avviare mysqld da solo:

cd sql
./mysqld &

Dopo aver avviato mysqld utilizzando uno dei modi illustrati (con o senza il debugger), si lanci il client (come root se non si hanno ancora utenti impostati).

../client/mysql

Usare un plugin Storage Engine

Il caso più semplice è quello in cui si compila lo Storage Engine in MariadB:

configure --with-plugin-<nome_plugin>

Un'altra possibilità e far sì che mysqld punti alla directory dello Storage Engine:

mysqld --plugin-dir=source-dir-path/storage/connect/.libs

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.