一、Docker安装Mysql
1、启动Docker
            
            
              Haskell
              
              
            
          
          启动:sudo systemctl start docker
        service docker start
停止:systemctl stop docker
重启:systemctl restart docker
        2、查询mysql
            
            
              Haskell
              
              
            
          
          docker search mysql
        3、安装mysql
1.默认拉取最新版本mysql
            
            
              Haskell
              
              
            
          
          docker pull mysql
        2.拉取指定版本mysql_5.7
            
            
              Haskell
              
              
            
          
          sudo docker pull mysql:5.7
        4、查看镜像
            
            
              Haskell
              
              
            
          
          docker images
        5、本地创建挂载目录-v
二、Docker启动\使用Mysql
1、启动mysql容器(创建镜像实例)
1.指定版本
            
            
              Haskell
              
              
            
          
          sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
        2.最新版本
            
            
              Haskell
              
              
            
          
          docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:latest
        3.命令含义:容器=完整Linux
            
            
              Haskell
              
              
            
          
                docker run:在docker中启动一个容器实例
        -d:该容器在后台运行
        -p 3306:3306:容器与主机映射端口为,主机3306,容器3306
        --name mysql:容器运行后的名称
        -v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下
        -v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下
        -v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下
        -e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
        mysql:5.7:需要运行的容器名称以及版本号
        2、在var/lib/docker/containers/下查看容器
            
            
              Haskell
              
              
            
          
          cd /var/lib/docker/containers/
        3、查看mysql进程获取name------mysql名称
            
            
              Haskell
              
              
            
          
          docker ps -a
        4、进入mysql容器---并登陆mysql
            
            
              Haskell
              
              
            
          
          格式:docker exec -it   mysql名称   bash
进入mysql容器操作台命令:docker exec -it mysql bash
登录mysql命令:mysql -u root -p        输入密码:
        5、开启远程访问权限
            
            
              Haskell
              
              
            
          
          命令:use mysql;
命令:select host,user from user;
命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
命令:flush privileges;
把root用户的密码改成 mysql_native_password 模式,即可远程连接
        #创建一个账号-admin,用来进行远程访问;
        CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
         
         
         赋予所有权限给之前创建的账号:admin
        GRANT ALL ON *.* TO 'admin'@'%';
         
         
         确认使用密码{123456}登录此账号{admin}
         密码尽量复杂,安全性更高。
        ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
         
         
         刷新权限
        FLUSH PRIVILEGES;
        6、查看docker日志
            
            
              Haskell
              
              
            
          
          命令:docker logs -f --tail 10 a4dac74d48f7
        7、常用命令
查看进程
            
            
              Haskell
              
              
            
          
          命令:docker ps -a
        关闭docker中mysql容器
            
            
              Haskell
              
              
            
          
          命令:docker stop mysqlserver
        8、 重启docker中mysql重启
重启docker
            
            
              Haskell
              
              
            
          
          命令:systemctl restart docker
        关闭docker
            
            
              Haskell
              
              
            
          
          命令:systemctl stop docker
        自动重启容器
            
            
              Haskell
              
              
            
          
          sudo docker update mysql --restart=always9、移除原来的container ID(就是长长的那串数字)
docker rm + container ID 
        10、退出容器
三、Mysql设置
1、进入容器:
            
            
              Haskell
              
              
            
          
          命令:    docker exec -it mysql bash
命令:mysql -u root -p
        2、定位容器位置:
            
            
              Haskell
              
              
            
          
          命令:whereis mysql
显示:mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql
        3、退出容器:
            
            
              Haskell
              
              
            
          
          exit
        4、找到配置文件夹:一级一级的进入
            
            
              Haskell
              
              
            
          
          命令:cd /mydata/
命令:cd mysql/
命令:cd conf/
        5、创建配置文件:cnf
            
            
              Haskell
              
              
            
          
          命令:vi my. cnf
命令:i
        粘贴内容:
            
            
              Haskell
              
              
            
          
              [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    init_connect=' SET collation_connection = utf8_unicode_ci '
    init_connect=' SET NAMES utf8 '
    character-set-server=utf8
    collation-server=utf8_unicode_ci 
    skip-character-set-client-handshake 
    skip-name-resolve
        按键:ESC
命令::wq
6、重启容器
            
            
              Haskell
              
              
            
          
          命令:docker restart mysql
命令:docker exec -it mysql /bin/bash
        7、进入文件夹
            
            
              Haskell
              
              
            
          
          目录:cd /etc/mysql/
展示:ls
查看文件:cat my. cnf
        四、Mysql外部连接
            
            
              Haskell
              
              
            
          
              IP:虚拟机IP地址------云主机地址
    端口:
    名称:
    密码:
        本次分享到此结束,感谢大家的阅读,觉得有所帮助的朋友点点关注点点赞!