Mysql
 sql >> Base de données >  >> RDS >> Mysql

Importation de la base de données Mysql à l'aide de Ruby/Chef Recipe for Vagrant

S'il s'agit d'une erreur de chemin de fichier et que vous utilisez chef solo, essayez d'utiliser le chemin spécifié dans solo.rb , comme :

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

En règle générale, envisagez d'utiliser le livre de recettes de base de données pour les tâches de gestion des utilisateurs et des bases de données mysql. Une fois que vous avez configuré les dépendances de livre de cuisine nécessaires, vous pouvez mettre un code comme celui-ci dans le default.rb de votre recette principale. :

# 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

Je n'ai pas testé ce dernier car le stockage d'un fichier de base de données dans le répertoire chef ralentit vraiment les choses.

Voir aussi :Importer un fichier SQL dans mysql