Centos7里面没有Mysql 取而代之的是MariaDB,MariaDB是完全开源的。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品 (引自百度百科 ).
docker run --privileged -d --restart=always -e TIMEZONE=Asis/Shanghai -e MYSQL_ROOT_PASSWORD=admin -e SERVER_ID=1 -v /opt/data/mariadb/dbdata:/var/lib/mysql -p 3306:3306 mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
或者使用多行格式
docker run --privileged -d --restart=always
-e TIMEZONE=Asis/Shanghai
-e MYSQL_ROOT_PASSWORD=admin
-e SERVER_ID=1
-v /opt/data/mariadb/dbdata:/var/lib/mysql
-p 3306:3306 mariadb
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
参数说明:--privileged 赋予容器扩展权限(root)
设置--restart=always 参数的时候, 设置了此参数容器退出了会自动重启, 宿主机重启了容器也能自动重启
-d后台运行
TIMEZONE 设置时区
MYSQL_ROOT_PASSWORD 设置root密码
-v /opt/data/mariadb/dbdata:/var/lib/mysql:/var/lib/mysql 将mariadb里面的目录(/var/lib/mysql)挂载到宿主机里面
character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 设置 utf-8字符集和排序规则
使用 Navicat Premium 连接 测试 。
设置了--restart=always 如何删除容器呢? 要先停止 docker stop [containterID] 然后删除 docker rm [containterID]。不能直接删除的,因为删除了还会启动的。。。。