zoukankan      html  css  js  c++  java
  • docker下MySQL修改配置

    概述

    • 连接docker中的mysql终端(docker连接终端)
    • 修改mysql配置 (vim使用和安装)
    • mysql大小写简单介绍 (库名/表面 字段/内容 大小写使用)
    • docker下mysql终端操作(执行命令)

    连接docker中的mysql终端

    1. 使用 查询docker下的镜像用来查看mysql的id 或name
    docker ps -as
    
    1. 连接mysql容器终端 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端 662d742e708c:容器id也可以使用name /bin/bash 终端目录
    docker exec -it 662d742e708c /bin/bash
    

    修改mysql配置

    1. 使用vi打开配置文件
    /etc/mysql/mysql.conf.d/mysqld.cnf
    

    没有vim 则需要安装,步骤如下:

    //同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
      apt-get update 
    //安装vim
      apt-get install vim
    
    1. 修改配置文件 vim编辑器基本使用参考
    • 按i进入vi的编辑模式
    • 在文件添加一行 lower_case_table_names=1(1是忽略大小写 0是启用大小写敏感)
    • 按esc 退出编辑模式
    :wq 保存退出
    :q 退出
    :q!强制退出
    
    
    • 编辑之后强制退出 可能回产生.swap文件 每次打开文件时都会提示是有交换文件****.swp 确认没有需要恢复的可以直接删除 rm ****.swp 也可按照提示编辑 或恢复 swp参考资料exe

    mysql大小写简单介绍

    1. MySQL大小写敏感的简单介绍 lower_case_table_names参考资料
    • mysql通过lower_case_table_names来控制是否大小写敏感(库名和表名) 需要控制的原因是 linux/win/unix底层文件系统对大小写敏感行为不一致,默认值 linux=0 win=1 mac(unix)=2
    参数值 存储值 查询值 其它
    0 大小写敏感(按DDL语句中存储) 大小写敏感(按DDL语句保存至查找表上) 如果在大小写不敏感系统强制设置为0 则有可能造成索引丢失
    1 大小写不敏感(转换为小写存储) 不敏感(表名转化为小写保存至查找表上)
    2 大小写敏感(按DDL语句中存储) 不敏感(表名转化为小写保存至查找表上) 只在对大小写不敏感的文件系统上适用,innodb表名用小写保存
    1. 列名和字段内容 根据校对规则(collate)_bin: 表示的是binary case sensitive collation,也就是说是区分大小写。_ci: case insensitive collation,不区分大小写 。

    修改lower_case_table_names影响(仅适用于InnoDB)

    1. 需要修改原来大写的库名为小写,有以下方式可供参考 修改mysql库名
      • 新建一个库名 然后导出数据 将原来的库删除 缺点:数据量大比较费时间,表名有大写的也需要转化为小写
      • 使用rename table命令编写脚本
    mysql -uroot -p123456 -e 'create database if not exists new_sakila'
    list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='sakila'")
     
    for table in $list_table
    do
        mysql -uroot -p123456 -e "rename table sakila.$table to new_sakila.$table"
    
    1. 需要将原来的表名修改为小写

    docker下mysql终端操作(执行命令)

    1. 登录用户 root为例子
    mysql -uroot -p
    
    1. 输入密码
    2. 查询数据库
      show databases g(g用来提交命令)
      
    3. 退出命令界面 按Ctrl+D
  • 相关阅读:
    sql注入漏洞详解
    HTTP1.0/1.1/2.0的区别
    http协议详解
    LRU经典算法的原理与实现
    [译转]深入理解LayoutInflater.inflate()
    Touch事件分发机制
    重要:Android绘图只Mask遮罩
    Android View学习Tips
    ViewPager学习及使用(一)
    Android 实现瀑布流的两种思路
  • 原文地址:https://www.cnblogs.com/luoyeluoy/p/13065323.html
Copyright © 2011-2022 走看看