1. 程式人生 > >Docker下安裝mysql

Docker下安裝mysql

命令

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /data/mysql/data:/docker/container/data -v /data/mysql/conf:/etc/mysql/conf.d -d mysql:5.7

注意事項:

-v /data/mysql/conf:/etc/mysql/conf.d 該引數是關鍵,它決定了my.cnf位置

例如該命令中

-v /data/mysql/data:/docker/mysql/data 該引數如此設定是因為my.cnf下有如下配置

datadir=/docker/mysql/data

由此可以看出my.cnf配置的所有路徑相關類引數的路徑都是指的容器內路徑,如果希望通過外部訪問 就需要再docker run是用 -v 對映後後訪問

例如如果你想直接通過宿主主機訪問mysql的錯誤日誌,那就需要做兩件事:

1、my.cnfq內配置log-error=/docker/mysql/logs/mysqld.log

2、執行命令

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /data/mysql/data:/docker/container/data -v /data/mysql/conf:/etc/mysql/conf.d -v /data/logs/mysql:/docker/mysql/logs -d mysql:5.7

完成以上步驟後 如果希望在宿主機像訪問一般部署方式的訪問MySQL可以通過以下執行以下命令實現

alias mysql="docker exec -it mysql mysql"

之後就可在宿主機使用

mysql -uroot -p 來登入Mysql了