zoukankan      html  css  js  c++  java
  • docker 安装mysql

    docker 安装mysql:docker pull mysql/mysql-server
    运行容器:

    docker run -d -p 3306:3306 -e MYSQL_USER="test" -e MYSQL_PASSWORD="1234." -e MYSQL_ROOT_PASSWORD="1234." --name mysql mysql/mysql-server --character-set-server=utf8 --collation-server=utf8_general_ci --lower_case_table_names=1

    docker 容器 修改mysql密码
    1.进入 mysql 容器
    docker exec -it mysql /bin/bash
    添加vim
    yum install vim
    登陆mysql:mysql -uroot -p

    set password for 'root'@'localhost' = password('1234.');
    8.0以上语句为: alter user user() identified by "1234.";

    grant all privileges on . to 'test'@'127.0.0.1' identified by '1234.' with grant option;

    创建用户:CREATE USER 'test1'@'localhost' IDENTIFIED BY '1234.';
    --添加新用户
    CREATE USER 'test'@'localhost' IDENTIFIED BY '1234.';
    进行授权远程连接(注意mysql 8.0跟之前的授权方式不同)
    RENAME USER 'test'@'localhost' TO 'test'@'%';
    刷新权限
    flush privileges;
    此时,还不能远程访问,因为Navicat只支持旧版本的加密,需要更改mysql的加密规则
    更改加密规则
    ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '1234.';

    更新test用户密码
    ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '1234.';
    flush privileges;
    再次刷新权限测试是否可以登陆

    启动mysql的时候遇到一个问题: driver failed programming external connectivity on endpoint mysql01
    找了半天发现是3306被占用
    我的解决办法是
    cmd 命令-netstat -ano
    找到占用3306的
    查看被占用端口对应的PID,输入命令:netstat -aon|findstr "16412",回车,记下最后一位数字,即PID,这里是16412。

    PS C:WINDOWSsystem32> netstat -aon|findstr "16412"
    TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 16412
    TCP [::]:3306 [::]:0 LISTENING 16412
    PS C:WINDOWSsystem32> a

    继续输入tasklist|findstr "16412",回车,查看是哪个进程或者程序占用了2720端口,结果是:docker.ackend.exe
    com.docker.backend.exe 16412 Services 0 16,364 K
    PS C:WINDOWSsystem32>

    最后使用命令结束该进程: taskkill /pid 16412 /f
    然后重启docker 启动docker start mysql01 启动成功
    docker容器参数启动Mysql (用容器参数添加新用户和修改root账户密码,修改字符集)
    docker run -d -p 3306:3306 -e MYSQL_USER="test" -e MYSQL_PASSWORD="1234." -e MYSQL_ROOT_PASSWORD="1234." --name mysql01 mysql/mysql-server --character-set-server=utf8 --collation-server=utf8_general_ci

    mysql 5.7 安装
    docker pull mysql:5.7
    运行
    docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=1234. -d mysql:5.7 --lower_case_table_names=1
    进入mysql cmd
    mysql -uroot -p1234.
    添加远程链接,修改加密规则
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234.';
    flush privileges;

  • 相关阅读:
    记坑
    常用模板
    ACM-东北赛划水记
    jzoj 4178游戏
    JZOI 4163
    jzoj 4146踩气球
    jzoj 5589. 缩点
    jzoj 5588 %%%
    jzoj 5571 ffs
    BJOI 2017 Kakuro
  • 原文地址:https://www.cnblogs.com/liaokui/p/11350841.html
Copyright © 2011-2022 走看看