MySql Docker的一些操做方法

偶爾有需求,涉及到數據庫的改動,那必定要表結構改動、程序調試都先在測試環境淬鍊千百遍。 如今流行微服務、docker部署,很容易拉起一整套環境。mysql

Compose File Demo

mysql:
    image: mysql:5.7.25
    restart: unless-stopped
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: example
    ports:
      - 3306:3306

MySql Client Operation

好比mysql docker,如何鏈接並執行命令呢? 試試 mysql -uroot -h 127.0.0.1 -P 3306 -p<your password>sql

Script from Host

問題來了,一套環境在不一樣的docker裏面,attach docker來來去去也是很噁心的,如何在宿主機上操做mysql呢? 好比我寫好了一個建庫腳本,能夠這麼操做:docker

docker cp backend/ds_market.sql data_store_mysql_1:/docker-entrypoint-initdb.d/ && docker exec data_store_mysql_1 sh -c 'export MYSQL_PWD="$MYSQL_ROOT_PASSWORD" ; mysql -uroot < /docker-entrypoint-initdb.d/ds_market.sql'

查詢有哪些庫:數據庫

docker exec data_store_mysql_1 sh -c 'export MYSQL_PWD="$MYSQL_ROOT_PASSWORD" ; mysql -uroot -e "show databases;"'

要查下有哪些表:less

docker exec data_store_mysql_1 sh -c 'export MYSQL_PWD="$MYSQL_ROOT_PASSWORD" ; mysql -uroot -e "use datasets_market;show tables;"'

查詢一些條目微服務

docker exec data_store_mysql_1 sh -c 'export MYSQL_PWD="$MYSQL_ROOT_PASSWORD" ; mysql -uroot -e "use datasets_market;select * from datasets limit 10;"'
相關文章
相關標籤/搜索