private EmbeddedMysql addSchema(final SchemaConfig schema) { Charset effectiveCharset = schema.getCharset().or(config.getCharset()); getClient(SystemDefaults.SCHEMA) .executeCommands( format( "CREATE DATABASE %s CHARACTER SET = %s COLLATE = %s;", schema.getName(), effectiveCharset.getCharset(), effectiveCharset.getCollate()), format("GRANT ALL ON %s.* TO '%s'@'%%';", schema.getName(), config.getUsername())); getClient(schema.getName()).executeScripts(schema.getScripts()); return this; }
protected EmbeddedMysql(final MysqldConfig config) { this.config = config; IRuntimeConfig runtimeConfig = new RuntimeConfigBuilder().defaults(config.getVersion()).build(); this.executable = new MysqldStarter(runtimeConfig).prepare(config); try { executable.start(); getClient(SCHEMA) .executeCommands( format( "CREATE USER '%s'@'%%' IDENTIFIED BY '%s';", config.getUsername(), config.getPassword())); } catch (IOException e) { throw new RuntimeException(e); } }
public static Builder anEmbeddedMysql(final Version version) { return new Builder(MysqldConfig.aMysqldConfig(version).build()); }