windows - Opret MySQL DB fra Command Line

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at oprette en batch-fil for at oprette en MySQL-database. Hidtil er ingen af ​​de oplysninger, jeg finder, ved at fungere. Bare for at teste dette er det, jeg forsøger ...


C:>mysql -uroot -ppassword < CREATE DATABASE testdb;
C:>mysql -uroot -ppassword mysql < CREATE DATABASE testdb;


Ligegyldigt hvordan jeg sætter det, fortsætter jeg med at få fejlen 'Systemet kan ikke finde den angivne fil'. Hvis jeg bare sætter ...


C:>mysql -uroot -ppassword


Det logger ind i MySQL-prompten. Hvad gør jeg forkert

Bedste reference


Jeg er enig med de andre plakater, det er meget bedre at sætte skemaet i en fil. Men her er hvordan du kan gøre det på kommandolinjen:


mysql -uroot -ppassword -e "CREATE DATABASE testdb"

Andre referencer 1


acess som root bruger:


mysql -u root -p


den anmoder om adgangskode .. indsæt dit kodeord


derefter
Kør oprettelses kommandoen som denne:


mysql> create database database\_name;

Andre referencer 2


Prøv at sætte din sql i en tekstfil, som 'createDb.sql' og kør derefter:


mysql -uroot -ppassword < createDb.sql; 

Andre referencer 3


Det er bedre at skrive din MySQL inde i en fil og derefter importere den fil. På den måde, når du skal køre den igen (geninstallere eller migrere), har du en oversigt over MySQL til at køre. Koden jeg bruger til en fil som Dette er som følger, hvilket ødelægger alt, hvad der allerede er der, og derefter opretter databasen og tildeler en dedikeret bruger.


# uninstall if anything's already there
GRANT ALL PRIVILEGES ON *.* TO 'username'@'\%';
DROP USER 'username'@'\%';
DROP DATABASE IF EXISTS `tablename`;

# create the user
CREATE USER 'username'@'\%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS `tablename`;
GRANT ALL PRIVILEGES ON `tablename` . * TO 'username'@'\%';