美文网首页
在docker中安装mysql-2018-11-21

在docker中安装mysql-2018-11-21

作者: 青山有扶苏 | 来源:发表于2018-11-24 12:11 被阅读0次
    眼睛会欺骗自己,或者只是想看你希望看到的
    

    以下内容是基于 ubuntu 18 ,如果你在其他linux发行版中参照时需根据发行版具体的命令语法。

    自从我把这台Ubuntu化妆成macos的样子的时候,越发的对linux喜欢了,最近又在docker,具体来说,docker是个什么呢,容我去别的地方粘贴一段过来;

    Docker 是一个开源的应用容器引擎,基于 [Go 语言](http://www.runoob.com/go/go-tutorial.html) 并遵从Apache2.0协议开源。
    
    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    
    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
    
    

    接下来,废话不用多说 首先安装docker

    sudo apt install docker.io
    ## 启动docker 
    sudo systemctl start docker
    ## 设置开机启动 docker
    sudo systemctl enable docker
    ## 查看docker 安装的版本号
    docker -v
    

    配置成功之后,查看docker版本号如下:

    docker-version.png
    可以看到提示版本号时,就表示已经安装成功
    这种方法安装的docker不是最新版本,但是比较方便,如果要安装最新版的,可以直接从Docker仓库中下载,参考连接中有方法,需要的可以在本文最底下查阅。

    接下来就是在Docker中安装启动MySql

    ## 从默认的仓库下载 mysql 镜像: 
    sudo docker pull mysql
    

    这个过程要根据网络情况,建议配置国内镜像,或者使用比较科学的方式。 下载完之后,用docker启动mysql的镜像。

    sudo docker run -d -p 13306:3306 --name mysqld -v /opt/mydata/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:latest
    ## 参数解释
    ## -p 13306:3306 是将容器中的 3306端口映射到宿主机的13306端口[镜像的默认端口是3306,这个端口可以修改镜像文件来改,后续更新时会提到]
    ## -v 将宿主机/opt/mydata 挂在到容器的 /var/lib/mysql 这也是镜像默认的目录
    ## -e 设定初始的密码我这里设定为 root
    ## --name 设定容器的名称
    ## mysql:latest 表示获取最新的mysql镜像
    

    至此 mysql 在docker 中就安装完成了,我们需要配置一下局域网内其他设备可以使用,不然只能用localhost的方式访问哦。

    ## 进入docker 容器
    sudo docker exec -it mysqld /bin/bash
    ## docker exec 进入容器
    ## -i 让容器的标准输入保持打开
    ## -t 让docker 分配一个伪终端,并绑定到容器的标准输入上
    ## mysqld 容器的名字
    
    ## 查看mysql 版本号
    mysql --version
    

    结果如下图(第一次查看的时候 少写了个-下面那行报错信息请无视 @_@)


    mysql-version.png

    接下来,进入mysql 开始配置远程登陆

    mysql -uroot -p
    ## 输入密码后 切换到 mysql 的库
    use mysql;
    ## 查看当前是否支持 远程访问
    select host,user, authentication_string,plugin from user;
    host = % user = 当前登陆的用户的,就表示支持远程登陆,默认装好之后,是没有开启的。
    ## 设定 root 用户的所有权限 并设置远程访问
    GRANT ALL ON *.* TO 'root'@'%';
    ## 刷新权限
    flush privileges;
    

    补充

    用可视化工具 如 navicat SQLyog,mysql workbench 等工具时,

    因为mysql 8 版本和5 的加密规则不一样,而现在的可视化工具大部分都采用旧版的加密方式,所以,这里可以将mysql的加密规则修改成 旧版的加密规则

    ## 修改加密规则
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 
    ## 更新root 用户的密码
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
    ## $ 上面两行中的 ‘root’ 都是密码如果你设定的密码和我的不一样时。
    ## 刷新权限
    flush privileges; 
    

    搞定。
    接下来,用工具测试访问以下。看帖子好多大神推荐 mysql-workbench ,这里我也搬运一下

    ## 安装mysql-workbench
    sudo apt-get install mysql-workbench
    

    这个安装相对简单,提示 输入y即可 安装成功之后,在菜单中找出来。然后固定到收藏夹就可以了,就像我这样。


    mysql-workbench.png

    连接mysql

    打开 workbench 按下图中的 + 号


    link-mysql.png

    1.输入连接名称
    2.输入hostname 和 port 这里hostname我保持默认,端口被我改称13306 了需要改一下
    3.点击 Test Connection 测试连接


    input-password.png
    4.提示输入密码。输入完毕之后,就到了这个界面了,做个简单的测试,
    mysql-workbench-ui.png

    到此,安装就已经全部结束了。后续适应一下,我会对这个工具做个简单的说明。

    本文参考以下教程连接,如有侵权,清联系我。

    ## 在Ubuntu中安装Docker
    https://blog.csdn.net/u010889616/article/details/80170767
    ## mysql 8 设定权限
    https://blog.csdn.net/xinpengfei521/article/details/80403965
    ## workbench 安装教程
    https://blog.csdn.net/qq_34256348/article/details/78342897
    

    相关文章

      网友评论

          本文标题:在docker中安装mysql-2018-11-21

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