zoukankan      html  css  js  c++  java
  • docker版本Mysql安装

    docker部署mysql

    1. 下载

    [root@localhost my.Shells]# ./dockerStart.sh 
    start or stop 
    start
    Redirecting to /bin/systemctl start docker.service
    [root@localhost my.Shells]# docker pull mysql
    Using default tag: latest
    Trying to pull repository docker.io/library/mysql ... 
    latest: Pulling from docker.io/library/mysql
    f49cf87b52c1: Pull complete 
    78032de49d65: Pull complete 
    837546b20bc4: Pull complete 
    9b8316af6cc6: Pull complete 
    1056cf29b9f1: Pull complete 
    86f3913b029a: Pull complete 
    f98eea8321ca: Pull complete 
    3a8e3ebdeaf5: Pull complete 
    4be06ac1c51e: Pull complete 
    920c7ffb7747: Pull complete 
    Digest: sha256:7cdb08f30a54d109ddded59525937592cb6852ff635a546626a8960d9ec34c30
    [root@localhost my.Shells]# docker images 
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    docker.io/mysql     latest              f008d8ff927d        9 days ago          408.5 MB
    docker.io/nginx     latest              3f8a4339aadd        4 weeks ago         108.5 MB
    docker.io/redis     latest              1e70071f4af4        6 weeks ago         106.7 MB
    

    2. 运行

    [root@localhost my.Shells]# docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=wzy123 -d mysql  //用户默认是root,密码默认是root的密码
    283a1fa17fef310d9e329e11f10b8179e5be5fd88310be64fb0b4fa75ab5d80f
    [root@localhost my.Shells]# docker ps   //mysql容器已经启动了
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    283a1fa17fef        mysql               "docker-entrypoint.sh"   7 seconds ago       Up 6 seconds        0.0.0.0:3306->3306/tcp   docker-mysql
    

    3. 登录

    1.工具登录

    2.命令行登录
    [root@localhost my.Shells]# docker ps 
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    283a1fa17fef        mysql               "docker-entrypoint.sh"   18 hours ago        Up 3 seconds        0.0.0.0:3306->3306/tcp   docker-mysql
    [root@localhost my.Shells]# docker exec -it docker-mysql bash
    root@283a1fa17fef:/# ls
    bin  boot  dev    docker-entrypoint-initdb.d  entrypoint.sh  etc    home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    
    root@283a1fa17fef:/# mysql -u root -p
    Enter password:   //wzy123
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 4
    Server version: 5.7.21 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql>
    

     注意:当使用docker rm [id]后,mysql数据库的所有数据会全部清除,再重新开启一个镜像是一个崭新的数据库。

     
     
     
     
     

    mysql 远程连接数据库的二种方法

     
    一、连接远程数据库:
    1、显示密码

    如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

    C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456
    2、隐藏密码

    如:MySQL 连接本地数据库,用户名为“root”,

    C:/>mysql -h localhost -u root -p 
    Enter password:
    二、配置mysql允许远程链接
        默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。
    一、改表法

        在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"

    例如:
      #mysql -u root -p
       Enter password:
        ……
       mysql>

      mysql>update user set host = '%' where user = 'root';

      mysql>select host, user from user;

    二、授权法

        例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

      mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

      如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

      mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY

      'mypassword' WITH GRANT OPTION;

       mysql>FLUSH PRIVILEGES

      使修改生效,就可以了

    常见问题: 
    1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h 192.168.5.116
    Enter password: 
    ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES)
    上例中loadb116是主机名.
    解决方法: 
    1、这时可以使用:mysql  -u root -p 登录,进入到mysql后。
    mysql> grant all privileges on *.* to 'root'@'loadb116' 
           identified by '123456' with grant option; 
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges; 
    Query OK, 0 rows affected (0.00 sec)
    2、在本地使用ip地址登录
    # mysql -u root -p -h 192.168.5.116 
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or /g.
    Your MySQL connection id is 60
    Server version: 5.1.45 MySQL Community Server (GPL)

    Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

    mysql>
     
     
     
     
     
     
     
  • 相关阅读:
    【转】最大子序列和(动态规划学习)
    [转]修改Oracle XDB的8080端口
    【转】 C++常见编译/链接错误及其解决办法
    Pentaho Dashboard Editor使用向导
    [转]什么是Unicode是什么是UTF8是什么
    【转】 typedef的四个用途和两个陷阱
    【转】 C++中类型转换的解释
    从一道笔试题谈算法优化
    [转]谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
    [转]对Oracle数据库的字符集问题的资料收集,受益匪浅
  • 原文地址:https://www.cnblogs.com/williamjie/p/11126335.html
Copyright © 2011-2022 走看看