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

最新文章

  1. Android -- 真正的 高仿微信 打开网页的进度条效果
  2. 项目自动化建构工具gradle 入门3——生一个exe的helloWorld
  3. SecureCRT的快捷键
  4. Hadoop的Server及其线程模型分析
  5. DBCP--""连接池创建"与"资源关闭"Util类
  6. 问题解决:form表单的button按钮问题
  7. ubuntu导出文件
  8. [Redux] Extracting Container Components -- Complete
  9. Spring MVC 遇到的一点点问题(转)
  10. 大规模web服务开发技术
  11. eBay账号token授权
  12. 简单介绍Tomcat
  13. ansible批量免秘登录
  14. How to Install Tomcat 8.0.27 on CentOS/RHEL and Ubuntu【转】
  15. 贝塞尔曲线UIBezierPath简单使用
  16. [web前端] 去哪儿网前端架构师司徒正美:如何挑选适合的前端框架?
  17. Qt 设置窗口居中显示和窗体大小
  18. Linux:回收循环创建的多个线程
  19. TradeStation简介
  20. 嵌入式ROOTFS transplantation

热门文章

  1. 前端学习:HTML的学习总结(图解)
  2. WPF 精修篇 非UI进程后台更新UI进程
  3. EF连接mysql,出现A call to SSPI failed错误,解决办法
  4. Flask应用启动流程
  5. springMVC对RESTful的支持
  6. Composer更新与清除缓存命令
  7. maven 学习---Maven教程
  8. Canny算法检测边缘
  9. Centos7配置ssh免密登录群发
  10. 并发编程(六)--进程/线程池、协程、gevent第三方库