summaryrefslogtreecommitdiff
path: root/shells/mysql.nix
blob: 58428ac308f86f71e007e48ac36a7bd2fd1afbce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
with import <nixpkgs> {};
  mkShell {
    buildInputs = [ mariadb ];
    shellHook = ''
      export MARIADBHOST=$PWD/mysql
      export LANG=en_US.UTF-8;
      export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive;
      export MYSQL_UNIX_PORT=$MARIADBHOST/mysql.sock
      mkdir -p $MARIADBHOST
      cat > $MARIADBHOST/my.cnf <<EOF
      [mysqld]
      skip-networking
      datadir=$MARIADBHOST
      socket=$MARIADBHOST/mysql.sock
      EOF
      echo 'Initializing mysql database...'
      mysql_install_db --defaults-file=$MARIADBHOST/my.cnf --datadir=$MARIADBHOST --basedir=${mariadb} > $MARIADBHOST/LOG 2>&1
      mysqld --defaults-file=$MARIADBHOST/my.cnf --datadir=$MARIADBHOST --basedir=${mariadb} --pid-file=$MARIADBHOST/mariadb.pid >> $MARIADBHOST/LOG 2>&1 &
      finish() {
          mysqladmin shutdown
          rm -rf "$MARIADBHOST";
      }
      trap finish EXIT
    '';
  }