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;"'
相关文章
相关标签/搜索