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)
    
  • 相关阅读:
    HDU 1556 Color the ball(线段树区间更新)
    BestCoder Round #90 A.Kblack loves flag(随机数生成种子)
    Codeforces Round #377 (Div. 2) D. Exams(二分答案)
    Codeforces Round #383 (Div. 2) D. Arpa's weak amphitheater and Mehrdad's valuable Hoses(分组背包+dsu)
    HDU 1789 Doing Homework again(贪心)
    Codeforces Round #381 (Div. 2)D. Alyona and a tree(树+二分+dfs)
    Codeforces Round #381 (Div. 2)C. Alyona and mex(思维)
    Codeforces Round #381 (Div. 2)B. Alyona and flowers(水题)
    Codeforces Round #381 (Div. 2)A. Alyona and copybooks(dfs)
    UVA 1151 买还是建(最小生成树)
  • 原文地址:https://www.cnblogs.com/yscl/p/12109990.html
Copyright © 2011-2022 走看看