sql >> Databáze >  >> RDS >> Mysql

Import databáze Mysql pomocí Ruby/Chef Recipe for Vagrant

Pokud se jedná o chybu cesty k souboru a vy používáte chef solo, zkuste použít cestu uvedenou v solo.rb , jako:

/tmp/chef-solo/site-cookbooks/path_to_file.sql

Jako obecnou poznámku zvažte použití kuchařky databáze pro úlohy správy uživatelů a databází mysql. Jakmile nastavíte potřebné závislosti kuchařky, můžete takovýto kód vložit do default.rb svého hlavního receptu :

# externalize conection info in a ruby hash
mysql_connection_info = {
  :host => "localhost",
  :username => 'root',
  :password => node['mysql']['server_root_password']
}

# drop if exists, then create a mysql database named DB_NAME
mysql_database 'DB_NAME' do
  connection mysql_connection_info
  action [:drop, :create]
end

# query a database from a sql script on disk
mysql_database "DB_NAME" do
  connection mysql_connection_info
  sql { ::File.open("/tmp/chef-solo/site-cookbooks/main/path/to/sql_script.sql").read }
  action :query
end

#or import from a dump file
mysql_database "DB_NAME" do
  connection mysql_connection_info
  sql "source /tmp/chef-solo/site-cookbooks/main/path/to/sql_dump.sql;"
end

Ten poslední jsem netestoval, protože uložení databázového souboru do adresáře chef opravdu věci zpomaluje.

Viz také:Importovat soubor SQL do mysql



  1. SQL dotaz k nalezení počtu společných přátel podle tabulky osoba, přítel pár

  2. Co je SQL Injection?

  3. Algoritmus pro generování náhodného čísla

  4. Agregace řetězců v průběhu let v SQL Server