2016-08-18 66 views
0

您好我想创建的码头工人MySQL数据库,这里是我的代码泊坞窗MySQL错误1049(42000):未知的数据库“用户”

在start.sh

#!/bin/sh 

echo "Starting DB..." 
docker run --name db -d \ 
    -e MYSQL_ROOT_PASSWORD=123 \ 
    -e MYSQL_DATABASE=users -e MYSQL_USER=root -e MYSQL_PASSWORD=123 \ 
    -p 3306:3306 \ 
    mysql:latest 

echo "Waiting for DB to start up..." 
docker exec db mysqladmin --silent --wait=30 -uroot ping || exit 1 

echo "Setting up initial data..." 
docker exec -i db mysql -uroot users < setup.sql 

和设置.SQL

create table users (
    user_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    username VARCHAR(100) NOT NULL, 
    department VARCHAR(100), 
    name  VARCHAR(100), 
    access_token VARCHAR(30) 
    ); 

insert into users (username, department, name, access_token) values ('bzh01', 'Research and Development One', 'Mario1', NULL); 
在终端

,这是结果:

$ bash start.sh 
Starting DB... 
c7a066b70fa4ad3e02acc3165cfe34ce6a48964cb1190df399404b728cb6059f 
Waiting for DB to start up... 
mysqld is alive 
Setting up initial data... 
ERROR 1049 (42000): Unknown database 'users' 
+1

格式应该是'的mysql -u根database' 。在你的情况下,用户被解释为数据库名称。首先创建数据库,然后创建表。 –

+0

所以我加了'CREATE DATABASE users;'在setup.sql的开头,但是错误仍然发生 – tmvnty

+0

是完全一样的错误? –

回答

0

好吧,我终于解决了这个问题,但方式稍有不同。

在我Dockerfile数据库:

FROM mysql 

ENV MYSQL_ROOT_PASSWORD root 
ENV MYSQL_DATABASE users 
ENV MYSQL_USER root_user 
ENV MYSQL_PASSWORD abcd123 

ADD setup.sql /docker-entrypoint-initdb.d 

,然后运行泊坞窗,compose.yml搭建`泊坞窗exec`线

version: '2' 
services: 
    app: 
    build: ./app 
    volumes: 
     - "./app:/src/app" 
    ports: 
    - "3030:3000" 
    depends_on: 
    - db 
    environment: 
    - DATABASE_HOST=db 
    db: 
    build: ./test-database 
相关问题