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;

  • 相关阅读:
    ASP.NET 2.0 X64 引起的问题
    .net 俱乐部7月份资料下载 .net 开源项目
    用schemaSpy制作数据库文档
    IbatisNet支持2.0的版本Release 发布了
    Introduction to Model Driven Development with AndroMDA
    开放源代码与.NET应用程序平台的性能测试
    sqlserver 2000/2005 Ambiguous column error错误解决办法
    ASP.NET 2.0 中 Web 事件
    使用asp.net 2.0的CreateUserwizard控件如何向自己的数据表中添加数据
    Working with Windows Workflow Foundation in ASP.NET
  • 原文地址:https://www.cnblogs.com/liaokui/p/11350841.html
Copyright © 2011-2022 走看看