30/08/2019, 10:48

Docker – Tạo Multiple DB Trong Laradock

Hôm trước mình đã có một bài viết nói về Laradock , cóvài anh em hỏi mình về cách tạo nhiều Database cùng một lúc. Do đang rảnh rỗi nên hôm nay mình sẽ viết một tí chia sẽ cho các anh em nhé. Có 2 cách nhanh chóng để tạo nhiều Database trong Laradock: Có thể tạo một file SQL và thực ...

Hôm trước mình đã có một bài viết nói về Laradock, cóvài anh em hỏi mình về cách tạo nhiều Database cùng một lúc.

Do đang rảnh rỗi nên hôm nay mình sẽ viết một tí chia sẽ cho các anh em nhé.

Có 2 cách nhanh chóng để tạo nhiều Database trong Laradock:

  • Có thể tạo một file SQL và thực thi nó để tạo Database
  • Hoặc có thể sử dụng vài câu lệnh trên container của MariaDB để tạo Database

Cách đầu tiên:

Cách này khá đơn giản, nhưng đầu tiên các anh em cần vào trang này và tìm hiểu sơ về các câu lệnh có trong MariaDB trước đã.

Kế đến truy cập Floder theo thứ tự như sau: laradockmariadbdocker-entrypoint-initdb.d.

Trong Floder docker-entrypoint-initdb.d hãy tạo một file create.sql và copy dòng lệnh bên dưới vào:

CREATE DATABASE IF NOT EXISTS db1 COLLATE = 'utf8_general_ci';
CREATE DATABASE IF NOT EXISTS db2 COLLATE = 'utf8_general_ci';
CREATE DATABASE IF NOT EXISTS db3 COLLATE = 'utf8_general_ci';

Giải thích một tí ở đoạn mã phía trên:

Ở đây chúng ta sẽ tạo lần lượt 3 Database : "db1, db2, db3" với unicode character là utf8_general_ci

Và hệ thống sẽ tự động check tự tồn tại của Database dựa vào cú pháp IF NOT EXISTS. Trong trường hợp Database đã tồn tại rồi thì nó sẽ báo lỗi.

Sau khi đã run container MariaDB, chúng ta sẽ truy cập bằng lệnh sau:

docker-compose exec mariadb bash

Lưu ý: ở đây mình sử dụng mariadb nên ai sử dụng mysql có thể thay lại nha.

Tiếp theo đó run command line bên dưới để bắt đầu tạo Database:

mysql -u root -p < /docker-entrypoint-initdb.d/create.sql

Và đừng quên nhập password root cho để cấp quyền cho nó nha.

Cách thứ hai:

Cách này cũng tương tự như cách trên một xíu nhưng khác ở chỗ là chúng ta sẽ chạy trực tiếp câu lệnh trên container MariaDB

Đầu tiên chúng ta sẽ truy cập vào MariaDB bằng dòng lệnh sau:

docker-compose exec mariadb bash

Tiếp đó chúng ta sẽ dùng lệnh bên dưới để tạo Database:

CREATE DATABASE newdb COLLATE = 'utf8_general_ci';

Và enter thế là xong.

Kết luận:

Bình thường mình hay truy cập phpmyadmin để tạo mới Database nhưng cách này nó thật là củ chuối. Với việc sử dụng cú pháp SQL mình nghĩ nó sẽ nhanh hơn nhiều.

Hy vọng bài viết sẽ giúp các anh em có thêm một số kiến thức về SQL cũng nhưng cách sử dụng Laradock hiệu quả hơn.

Mọi thắc mắc vui lòng để lại bình luận bên dưới nhé thân chào và quyết thắng             </div>
            
            <div class=

0