ラベル mycli の投稿を表示しています。 すべての投稿を表示
ラベル mycli の投稿を表示しています。 すべての投稿を表示

2018年7月6日金曜日

DockerでmycliとMySQL5.7がインストールされたコンテナを構築する

mycliは補完機能を備えたMySQLのCUIです。

〇mycliの画面


〇コンテナの構築方法
1. pgcliイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mycli .

Dockerfile
FROM python:3.6-alpine3.7

RUN apk update \
  && apk add --no-cache --virtual=build-deps gcc build-base python3-dev libffi-dev openssl-dev\
  && pip install mycli \
  && rm -rf /var/cache/apk/* && rm -rf /tmp/*
VOLUME /work
WORKDIR /work
CMD ["/bin/sh"]

2. mycliとMySQL5.7コンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose run mycli
※MySQLが立ち上がる前に接続してしまった場合はエラーとなるので、もう一度実行します。

docker-compose.yml
version: "2"
services:
  db:
    image: mysql:5.7
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    container_name: "mysql-db"
    volumes:
      - "db-data:/var/lib/mysql"
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: test
      MYSQL_ROOT_PASSWORD: test
  mycli:
    image: mycli
    container_name: "mycli"
    command: /usr/local/bin/mycli -h db -u root -p test test
    stdin_open: true
    tty: true
    volumes:
      - ".:/work"
    depends_on:
      - db
volumes:
  db-data:
    driver: local


○関連情報
・mycliに関する他の記事はこちらを参照してください。

2017年12月12日火曜日

VagrantでmycliとMySQLをインストールした仮想マシン(Ubuntu16.04)を構築する

以下のVagrantfileを使用してmycliとMySQLをインストールした仮想マシンを構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604mycli"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604mycli"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.105", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.105", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
locale-gen ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
# install mysql
echo "mysql-server-5.7 mysql-server/root_password password root" | sudo debconf-set-selections
echo "mysql-server-5.7 mysql-server/root_password_again password root" | sudo debconf-set-selections
apt-get -y install mysql-server-5.7
mysql -uroot -proot -e "CREATE DATABASE test DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER test@localhost IDENTIFIED BY 'test';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON test.* TO 'test'@'%';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"
# install mycli
apt-get -y install mycli
echo 'mycli -h localhost -u test -p test test'
SHELL
end

〇mycliの画面



○関連情報
・mycliに関する他の記事はこちらを参照してください。