美文网首页
在docker里面运行mysql

在docker里面运行mysql

作者: dessler | 来源:发表于2017-08-23 00:11 被阅读0次

           本来


    没那么快在docker上运行mysql的,最近给公司弄了一个网盘项目和wiki项目,都使用mysql数据库(centos7 使用yum安装的MariaDB),先安装网盘默认的配置,没有任何问题,然后安装wiki的时候发现数据库修改默认参数,

    但是修改以后,wiki可以使用了,网盘项目缺不能用了,也就是两个项目对mysql参数多有要求,刚好两个参数还是相反的,这样一个mysql就无法满足要求了,就需要安装2个mysql,但是一个系统安装两个mysql好像也比较麻烦,刚好最近一直在调试docker+k8s,就用了docker来实现

    1.下载MySQL的的镜像,由于宿主用是MariaDB,所以下载也是这个镜像

    docker pull mariadb:5.5

    2.运行docker

    docker run -itd --restart=on-failure  -p 3309:3306 -e MYSQL_ROOT_PASSWORD=root --name mariadb -v /home/docker-mysql/mysql:/var/lib/mysql mariadb:5.5

    参数解释:

    -itd 后台运行

    --restart=on-failure 如果docker不是退出代码0,他会自动重启,默认重启10次

    -p 3309:3306 将宿主3309端口映射到docker3306上面

    -e MYSQL_ROOT_PASSWORD=root  设置root的密码为:root

    --name mariadb 设置docker的名字(docker ps可以看到)

    -v /home/docker-mysql/mysql:/var/lib/mysql 映射本地目录到docker容器里面(如果里面存在该目录,会被覆盖)

    3.测试连接(并创建数据库)

    mysql -h 192.168.2.2 P3309 -uroot -proot (可以连接)

    mysql -h localhost P3309 -uroot -proot(不能连接)

    求大神解释下为什么不能用localhost

    4.导入数据库

    5.修改连接

    这个版本的mysql默认居然支持root账号任意ip连接,也太不安全了

    use mysql;

    delete from user where host="%";

    哈哈,我是直接删除root的任何ip登录权限,各位可以自己自己需要修改。

    相关文章

      网友评论

          本文标题:在docker里面运行mysql

          本文链接:https://www.haomeiwen.com/subject/pjvrdxtx.html