【ASP.NET Core分布式项目实战】(四)使用mysql/mysql-server安装mysql

Docker安装Mysql

  1. 拉取镜像

    docker pull mysql/mysql-server
  2. 运行mysql

    docker run -d -p : --name mysql01 mysql/mysql-server
  3. 查看密码

    docker logs mysql01
  4. 进入容器

    docker exec -it mysql01 bash
  5. 进入mysql的命令行

    mysql -uroot -p
  6. 修改root密码
    use mysql;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'pwd123456';

创建新用户

CREATE USER 'test'@'localhost' IDENTIFIED BY 'pwd123456';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' WITH GRANT OPTION;
CREATE USER 'test'@'%' IDENTIFIED BY 'pwd123456';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;
# navicat连接mysql报错1251解决方案
# 更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'pwd123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED BY 'pwd123456' PASSWORD EXPIRE NEVER;
# 重新修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pwd123456';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd123456';
# 刷新
FLUSH PRIVILEGES;

修改MYSQL 默认字符集

  1. 查看字符集命令

    docker exec -it mysql01 bash
    mysql -uroot -ppwd123456
    use mysql;
    show variables like '%char%';
    +--------------------------+--------------------------------+
    | Variable_name | Value |
    +--------------------------+--------------------------------+
    | character_set_client | latin1 |
    | character_set_connection | latin1 |
    | character_set_database | utf8mb4 |
    | character_set_filesystem | binary |
    | character_set_results | latin1 |
    | character_set_server | utf8mb4 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql-8.0/charsets/ |
    +--------------------------+--------------------------------+
  2. 修改my.cnf

    [mysqld]
    character-set-server=utf8mb4
    [client]
    default-character-set=utf8mb4
    [mysql]
    default-character-set=utf8mb4

docker容器参数启动Mysql

  1. 创建容器
    docker run -d -p : -e MYSQL_USER="jeese" -e MYSQL_PASSWORD="pwd123456" -e MYSQL_ROOT_PASSWORD="pwd123456" -e MYSQL_ROOT_HOST=% --restart=always --name mysql01 mysql/mysql-server --character-set-server=utf8 --collation-server=utf8_general_ci
  2. 修改navicat连接

    docker exec -it mysql01 bash
    mysql -uroot -ppwd123456
    use mysql;
    # navicat连接mysql报错1251解决方案
    ALTER USER 'jeese'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd123456';
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd123456';
    # 刷新
    FLUSH PRIVILEGES;

MySql挂载资料卷

  1. mysql挂载资料卷
    #注意:需要先创建/docker/mysql/config/my.cnf文件和/docker/mysql/data文件夹
    cd /
    mkdir docker
    cd docker
    mkdir mysql
    cd mysql
    mkdir config
    mkdir data
    vim config/my.cnf [mysqld]
    user=mysql
    character-set-server=utf8
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8 # mysql挂载资料卷
    docker run -d -p : -v /docker/mysql/config/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_USER="jeese" -e MYSQL_PASSWORD="pwd123456" -e MYSQL_ROOT_PASSWORD="pwd123456" -e MYSQL_ROOT_HOST=% --restart=always --name mysql01 mysql/mysql-server --character-set-server=utf8 --collation-server=utf8_general_ci
  2. 修改navicat连接

    docker exec -it mysql01 bash
    mysql -uroot -ppwd123456
    use mysql;
    # navicat连接mysql报错1251解决方案
    ALTER USER 'jeese'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd123456';
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd123456';
    # 刷新
    FLUSH PRIVILEGES;

mongo挂载资料卷

cd /docker/
mkdir mongo
cd mongo
mkdir config
mkdir db docker run -d -p : --name mongo01 -v /docker/mongo/config:/data/configdb -v /docker/mongo/db:/data/db --restart=always mongo
上一篇:【ASP.NET Core分布式项目实战】(一)IdentityServer4登录中心、oauth密码模式identity server4实现


下一篇:一、HTML简介和基本结构、标签和表单