Fork me on GitHub

通过docker安装mariadb

一、安装

  1. 通过dockerhub搜索要安装的mariadb版本。执行docker pull将镜像拉取到本地。

  1. 启动mariadb

    docker run --name mariadb-prod -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mypassword -v /data/software_docker/mariadb_test/data:/var/lib/mysql -d mariadb:10.5.6
    

    --name启动容器设置容器名称为mariadb-prod
    -p设置容器的3306端口映射到主机3306端口
    -e MYSQL_ROOT_PASSWORD设置环境变量数据库root用户密码为输入数据库root用户的密码
    -v设置容器目录/var/lib/mysql映射到本地目录/data/software_docker/mariadb_prod/data
    -d后台运行容器mariadb并返回容器id

  2. 安装是否成功

    查看容器是否运行

    docker ps -a 
    
  3. 修改容器为自启动

    docker container update --restart=always 容器id
    

二、修改表名不区分大小写

  1. 通过docker ps查看container id,然后通过以下命令进入容器

    docker exec -it 5344dfbfc7bc /bin/bash 
    
  2. 进入/etc/mysql目录,修改my.cfg文件

    #安装vim
    apt-get update
    apt-get install vim
    #修改my.cfg,添加lower_case_table_names=1
    vim my.cnf
    
  3. exit退出容器,通过docker restart/stop/rm/run 重启容器

三、参考文章

https://www.cnblogs.com/zxqblogrecord/p/13425791.html

https://blog.csdn.net/j943873589/article/details/103188906

附、修改docker默认目录

https://ld246.com/article/1566017283738

对于新版本docker(大于v17.05.0),修改安装(存储)目录:通过修改(新建)/etc/docker/daemon.json,指定 data-root 参数的值

按如下操作:

vim /etc/docker/daemon.json

加入

{
    "data-root": "/store/software/docker",
    "storage-driver": "overlay2" # 这个是 Docker 是默认设置,这里也可以不用加
}

然后重启docker服务

systemctl restart docker

通过上述任一方法完成迁移之后,在确认 Docker 能正常工作之后,删除备份的原目录数据:

rm -rf /var/lib/docker.bak

附、执行sql文件并指定字符集

mysql -uroot -p --default-character-set=utf8 mydb<mydb.sql

posted @ 2020-10-11 20:46  ayueC  阅读(257)  评论(0)    收藏  举报