Shutdown mysql when exiting the environment
This commit is contained in:
parent
6d4cc27acb
commit
fccb4b7d2b
19
env/mysql.nix
vendored
19
env/mysql.nix
vendored
@ -2,19 +2,24 @@
|
|||||||
|
|
||||||
with pkgs;
|
with pkgs;
|
||||||
|
|
||||||
mkShell {
|
let
|
||||||
|
sql_file = "database/db.sql";
|
||||||
|
data_dir = "$(pwd)/.mysql";
|
||||||
|
socket = "${data_dir}/mysql.sock";
|
||||||
|
|
||||||
|
in mkShell {
|
||||||
buildInputs = [ mysql57 ];
|
buildInputs = [ mysql57 ];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
pkill mysql
|
trap "kill 0" EXIT
|
||||||
rm -rf .mysql && mkdir .mysql
|
[ -d ${data_dir} ] || mkdir ${data_dir}
|
||||||
|
|
||||||
mysqld --datadir="$(pwd)/.mysql" --socket="$(pwd)/.mysql/mysql.sock" --initialize-insecure
|
mysqld --datadir="${data_dir}" --socket="${socket}" --initialize-insecure
|
||||||
mysqld --datadir="$(pwd)/.mysql" --socket="$(pwd)/.mysql/mysql.sock" --skip-networking &
|
mysqld --datadir="${data_dir}" --socket="${socket}" --skip-networking &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
mysql --socket="$(pwd)/.mysql/mysql.sock" -u root < $(pwd)/database/db.sql
|
mysql --socket="${socket}" -u root < ${sql_file}
|
||||||
|
|
||||||
alias mysql='mysql --socket="$(pwd)/.mysql/mysql.sock" -u root'
|
alias mysql='mysql --socket="${socket}" -u root'
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user