ハマりました。
データベースのデータをコマンドでエクスポートとかする方法はないものかとネットでググっていたところ、mysqldumpコマンドでいけると。
mysqldumpコマンドは、mysqlコマンドでmysqlの中にいると使えない?
Msys2のbashからだと、『mysql -u 【ユーザー名】 -p』が使えず、『mysql.exe -u 【ユーザー名】 -p』になってしまうのは、置いといて、
接続した状態で、ずっとmysqldumpコマンドやろうとしてたんですが、これ、mysqlの中では実行できないっていうね、当たり前のことかもしれんけど、自分のような初心者は知らないわけで、しかもネットでその辺については全く触れられてないのでね、いや~、盛大にハマりました。
⇩ mysqldumpについては下記サイトがまとまってます。
しかも、SQLエラーで、このへんがおかしいよ、という惜しいとこまできてるんだけどね~、的なニュアンスっぽさに見事にやられました。
こんなときは、いったん、quit もしくは、exit でmysql接続を切断したあとで、『mysqldump -u 【ユーザー名】 -p -B 【データベース名】 > 【任意のファイル名】 Enter password: ****』
mysqldump -u root -p -B rpgdb > export.sql Enter password: ****
そうすると、今いるカレントディレクトリ内にexport.sqlが作られました。
エクスプローラーで見ると、こんな感じ。
あらかじめ、cdコマンドなどでディレクトリを移動してからエクスポートしたほうが良さそうです。
一応、ファイルの中身をチェック。
-- MySQL dump 10.16 Distrib 10.1.10-MariaDB, for Win32 (AMD64) -- -- Host: localhost Database: rpgdb -- ------------------------------------------------------ -- Server version 5.7.18-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Current Database: `rpgdb` -- CREATE DATABASE /*!32312 IF NOT EXISTS*/ `rpgdb` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `rpgdb`; -- -- Table structure for table `hero` -- DROP TABLE IF EXISTS `hero`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `hero` ( `hero_id` int(11) NOT NULL AUTO_INCREMENT, `hero_name` varchar(50) DEFAULT NULL, `hero_hp` int(11) DEFAULT NULL, `hero_max_hp` int(11) DEFAULT NULL, `weapon_id` int(11) DEFAULT NULL, PRIMARY KEY (`hero_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `hero` -- LOCK TABLES `hero` WRITE; /*!40000 ALTER TABLE `hero` DISABLE KEYS */; INSERT INTO `hero` VALUES (1,'ミナト',100,100,1),(2,'センセイ',100,100,2); /*!40000 ALTER TABLE `hero` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `matango` -- DROP TABLE IF EXISTS `matango`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `matango` ( `matango_id` int(11) NOT NULL AUTO_INCREMENT, `matango_suffix` char(5) DEFAULT NULL, `matango_hp` int(11) DEFAULT NULL, `matango_power` int(11) DEFAULT NULL, PRIMARY KEY (`matango_id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `matango` -- LOCK TABLES `matango` WRITE; /*!40000 ALTER TABLE `matango` DISABLE KEYS */; INSERT INTO `matango` VALUES (1,'A',20,10),(2,'B',20,10),(3,'C',40,20),(4,'D',40,20),(5,'Z',200,30),(6,'S',400,40); /*!40000 ALTER TABLE `matango` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `wand` -- DROP TABLE IF EXISTS `wand`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `wand` ( `wand_id` int(11) NOT NULL AUTO_INCREMENT, `wand_name` varchar(50) DEFAULT NULL, `wand_power` int(11) DEFAULT NULL, PRIMARY KEY (`wand_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `wand` -- LOCK TABLES `wand` WRITE; /*!40000 ALTER TABLE `wand` DISABLE KEYS */; INSERT INTO `wand` VALUES (1,'魔法の杖',50),(2,'大魔導士の杖',30); /*!40000 ALTER TABLE `wand` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `weapon` -- DROP TABLE IF EXISTS `weapon`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `weapon` ( `weapon_id` int(11) NOT NULL AUTO_INCREMENT, `weapon_name` varchar(100) DEFAULT NULL, `weapon_power` int(11) DEFAULT NULL, PRIMARY KEY (`weapon_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `weapon` -- LOCK TABLES `weapon` WRITE; /*!40000 ALTER TABLE `weapon` DISABLE KEYS */; INSERT INTO `weapon` VALUES (1,'炎の剣',20),(2,'光の剣',10); /*!40000 ALTER TABLE `weapon` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `wizard` -- DROP TABLE IF EXISTS `wizard`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `wizard` ( `wizard_id` int(11) NOT NULL AUTO_INCREMENT, `wizard_name` varchar(50) DEFAULT NULL, `wizard_hp` int(11) DEFAULT NULL, `wizard_mp` int(11) DEFAULT NULL, `wand_id` int(11) DEFAULT NULL, PRIMARY KEY (`wizard_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `wizard` -- LOCK TABLES `wizard` WRITE; /*!40000 ALTER TABLE `wizard` DISABLE KEYS */; INSERT INTO `wizard` VALUES (1,'アサカ',100,50,1),(2,'ガンダルフ',100,100,2); /*!40000 ALTER TABLE `wizard` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2017-07-24 22:29:32
このsqlファイルをインポートすれば、rpgdbデータベースとその中のテーブルなども構築できそうな気がします。
インポートは、
mysql -u[ユーザー名] -p[パスワード] [インポートするデータベース名] < [インポートするファイル名]
mysqlコマンドでいけるみたいですね。
Msys2のbash、mysqldumpコマンドは、mysqldump.exeでなくてもいけるという...謎は深まるばかりですね。
今回はこのへんで。