Вопрос

Я создал базу данных MySQL с помощью MySQL Workbench.Там около 20 столов.Я не могу понять, как запускать сценарии в базе данных.

По сути, я хочу создать сценарий создания базы данных, который позволит мне создать базу данных на любом другом сервере MySQL.

Это было полезно?

Решение

create database mydatabase;

grant all on mydatabase.* to 'myuser'@'%' identified by 'mypasswd';

create table mytable (
id int not null auto_increment,
myfield varchar(255) not null default ''
);

и т. д...

Поместите это в файл mydbcreate.sql и запустите (из командной строки)

mysql -u <myuser> -p < mydbcreate.sql

Другие советы

Знание утилит командной строки mysql полезно и важно, но для выполнения общих задач используйте инструмент администрирования базы данных, такой как phpMyAdmin, для создания баз данных и управления ими.Эти инструменты позволяют чрезвычайно легко создавать и просматривать таблицы, создавать сценарии экспорта (файл со всеми запросами для создания таблиц, вставки данных и т. д.) и другие замечательные вещи.

phpMyAdmin великолепен, работает в среде LAMP, бесплатен и прост в использовании.

http://www.phpmyadmin.net/home_page/index.php

Экран экспорта базы данных в phpMyAdmin (обрезанный снимок)замещающий текст http://www.typolight.org/tl_files/images/documentation/sql-export.jpg

Вот несколько подсказок:

mysqldump -u [username] -p[password] [databasename] > [backupfile.sql]

И

mysql -u [username] -p[password] [database_to_restore] < [backupfile.sql]

Он генерирует файл со структурами и данными.Вторая строка переносит данные из файла в базу данных.

Между -p и паролем нет пробела.Было бы лучше не указывать пароль в вашей команде, так как он может оказаться в вашем .bash_history.Если вы опустите пароль, будет предложено ввести:

mysqldump -u [username] -p [databasename] > [backupfile.sql]

И

mysql -u [username] -p [database_to_restore] < [backupfile.sql]

Возможно, вам нужно знать, что эти операторы называются DDL?Тогда вы можете зайти на любой сайт MySQL и спросить, как генерировать DDL?Не придираюсь, просто говорю...

Также вы можете попробовать следующее:

используйте mysqldump из командной строки с опцией --no-data.Попросите помощи, если вам нужна дополнительная информация.Но простой пример:

$ mysqldump -u{username} -p{password} {dbname} --no-data

(разумеется, без фигурных скобок)

У вас есть два варианта.

  1. Экспортируйте сценарий CREATE, который вы можете хранить и/или произвольно запускать на любом сервере MySQL.
  2. Синхронизируйте напрямую с конкретным сервером MySQL.

Для №1 используйте следующую команду меню

File >> Export >> Forward Engineer SQL CREATE Script...

Отсюда вы можете использовать такую ​​программу, как MySQL GUI Tools, или просмотреть другие ответы в этой теме, чтобы импортировать сгенерированный сценарий SQL из командной строки.

Для №2 используйте следующую команду меню

Database >> Forward Engineer...
- or -
Database >> Synchronize Model...

Прежде чем выполнить любое из этих действий, вы можете сначала установить соединение через

Database >> Manage Connections...

Важный!Для обоих этих вариантов обязательно внимательно изучите каждый параметр, доступный в подсказках — небольшие настройки могут привести к большим изменениям в результатах!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top