天天看點

docker部署資料庫

   搜尋資料庫鏡像images  

  docker search mysql      

  搜尋結果如下圖所示:

  

docker部署資料庫

  選擇合适自己的mysql版本

  因為mysql新版本出來了,很多特性沒有學習,是以筆者安裝了mysql:5.6 這個版本比較友好

  使用docker pull進行下載下傳

docker pull mysql:5.6      

  等待下載下傳完成之後,使用 docker run 進行部署

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.6      

  參數解析:

    -d : 表示背景運作

    -p : 表示端口映射  伺服器端口:docker 内部mysql暴露的端口   即  你想自定義的端口号:3306

    -e : 環境變量或者參數設定  這裡設定的是mysql 的root密碼

    --name : 此容器的名字  可以通過 docker ps -a 進行檢視 對容器的操作可以通過容器id 也可以通過容器名 

    mysql:5.6 指的是使用那一個鏡像(image) 進行部署

  如此mysql就部署成功了

  進入容器,使用mysql,使用docker exec進入容器内部

docker exec -it mysql /bin/bash      

  參數解析:

    -it : 可以了解為進入容器内部

    mysql : 容器名稱  也可以使用容器id

    /bin/bash : 進入/bin/bash 目錄 即可以使用指令行的方式 

  進入之後:

    

docker部署資料庫

  此時隻是進入了容器之中,并沒有進入mysql

  使用 mysql -u root -p root 進入mysql 

mysql -u root -p
root      

  進入之後就可以進行資料庫的基本操作了。

  附上 mysql 建立使用者和權限: mysql:5.6 和最新的mysql 版本建立使用者和權限管理有很大差別,如果讀者是安裝的最新版的mysl 下面的方法可能不适用

create user \'使用者名\'@‘ip’ identified by \'密碼\';      

  其中ip屬性指的是限定某個ip才可以通路,%表示所有ip都可以通路  localhost 本機才可以通路

  修改密碼:

update mysql.user set password = password(\'新密碼\') where user = \'使用者名\';      

  删除使用者:

delete from mysql.user where user = \'使用者名\';      

  修改使用者權限:

grant all privileges on 資料庫名.表名 to \'使用者名\'@‘ip’       

  如果是所有資料庫 所有表 使用 *.*    ip同上建立使用者  可以使用 % 表示所有ip

  最後修改了需要重新整理才能生效

flush privileges;      

    

docker部署資料庫