# Running MariaDB from the Source Directory

You can run mysqld directly from the source directory (without doing make install).

## Starting mysqld after build on Windows

On Windows, the data directory is produced during the build.

The simplest way to start database from the command line is:

1. Go to the directory where mysqld.exe is located (subdirectory sql\Debug or sql\Relwithdebinfo of the build directory)
2. From here, execute
mysqld.exe --datadir=..\data --console


As usual, you can pass other mysqld parameters on the command line, or store them in a my.ini configuraton file and pass --defaults-file=path\to\my.ini

The default search path on Windows for the my.cnf file is:

• GetSystemWindowsDirectory()
• GetWindowsDirectory()
• C:\
• Directory where the executable is located

## Starting mysqld after build on Unix

Copy the following to your '~/.my.cnf' file.

There are two lines you have to edit: 'data=' and 'language='. Be sure to change them to match your environment.

# 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]
#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
temp-pool

# The following three entries caused mysqld 10.0.1-MariaDB (and possibly other versions) to abort...
# skip-locking
# set-variable  = key_buffer=16M

loose-innodb_data_file_path = ibdata1:1000M
gdb

######### Fix the two following paths

# Where you want to have your database
data=/path/to/data/dir

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


With the above file in place, go to your MariaDB source directory and execute:

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


Above '$PWD' is the environment variable that points to your current directory. If you added datadir to your my.cnf, you don't have to give this option above. Also above, --user=$LOGNAME is necessary when using msqyld 10.0.1-MariaDB (and possibly other versions)

Now you can start mysqld in the debugger:

cd sql
ddd mysqld &


Or start mysqld on its own:

cd sql
./mysqld &


After starting up mysqld using one of the above methods (with the debugger or without), launch the client (as root if you don't have any users setup yet).

../client/mysql


## Using a storage engine plugin

The simplest case is to compile the storage engine into MariadB:

configure --with-plugin-<plugin_name>


Another option is to point mysqld to the storage engine directory:

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