zoukankan      html  css  js  c++  java
  • docker部署mysql

    搭建mysql环境

    1 下载mysql镜像

    docker pull mysql:5.7
    

    2 运行刚下载的mysql镜像文件

    # 运行该命令之前可以使用`docker images`是否下载成功
    
    docker run -p 3307:3306 --name mysql5.7 -v /mysql/conf:/etc/mysql/conf.d -v /mysql/logs:/logs -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -itd  mysql:5.7
    

    上面的意思是将mysql在后台启动运行, 并且这个mysql是运行在宿主机3307端口上的,等会django连接的也是这个端口, --name 是将这个mysql应用取了个别名。3个-v是指定容器中的mysql的相关文件路径与宿主机路径的映射关系,这样便能通过修改宿主机的配置文件而达到修改容器中的mysql的配置了。-e 指定的是进入容器后的mysql的初始密码为123。

    3 远程连接mysql

    $ mysql -uroot -p123 -h 服务器ip地址 -P 3307
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.04 sec)
    
    # 上面可以登陆上, 也能正常查看数据库。但是数据库的默认编码方式还需要修改
    mysql> show global variables like '%char%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | latin1                     |
    | character_set_connection | latin1                     |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | latin1                     |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.03 sec)
    

    4 修改服务器的配置文件

    vim /mysql/conf/mysql.cnf

    [client]
    default-character-set = utf8
    [mysqld]
    character-set-server = utf8
    collation-server = utf8_general_ci
    init_connect='SET NAMES utf8'
    lower_case_table_names = 1
    slow_query_log_file = /logs/slow.log
    [mysql]
    default-character-set = utf8
    

    上面的配置主要是修改默认的编码方式,其他更加详细的配置可以参考

    1. 参考1
    2. 参考2

    重启mysql服务

    docker restart mysql5.7
    
    修改后具体的结果如下所示:
    mysql> show global variables like '%char%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.04 sec)
    
  • 相关阅读:
    运算符
    JavaScript
    javascript——1
    学习总结
    java开发在线下载功能,自动打开浏览器下载功能下载网络文件或图片
    input 输入框正则表达式限制小数,数字
    【Linux】清理Redis病毒程序kdevtmpfsi
    IDEA 2020.1 版修改pom.xml无法自动导入MAVEN依赖
    【Python】 requests 爬取博客园内容AttributeError: 'NoneType' object has no attribute 'xpath'
    Mysql Column 'xxxxx' in field list is ambiguous"
  • 原文地址:https://www.cnblogs.com/yscl/p/12109990.html
Copyright © 2011-2022 走看看