1》修改默認存儲引擎方法

    修改配置文件,然後重啟mysql服務;
        [root@CHW mysql]# cat /etc/my.cnf
                            [mysqld]
                            datadir=/var/lib/mysql
                            socket=/var/lib/mysql/mysql.sock
                            user=root
                            skip-grant-tables
                           default-storage-engine=INNODB
                            # Disabling symbolic-links is recommended to prevent assorted security risks
                            symbolic-links=0

[mysqld_safe]
                            log-error=/var/log/mysqld.log
                            pid-file=/var/run/mysqld/mysqld.pid 

2》字段類型char, varchar,text的區別
                           
                            text、char、varchar是數據在數據庫中的存放策略問題,為了合理應用存儲空間,是數據庫服務器對數據類型劃分的方式,對於應用

程序,把它們和string對應就可以了;
                           
        char:是固定長度的,但是長度範圍是0~255,当我們想要存儲一個長度不足255的字符時,Mysql會用空格來填充剩下的字符,因此

            在讀取數據時,char類型的數據要進行處理,把後面的空格去除;   
                             varchar:關於varchar,有的說最大長度是255,也有的說是65535,查閱很多資料后發現是這樣的:varchar類型在5.0.3以下的版本中     

              的最大 長度限制為255,而在5.0.3及以上的版本中,varchar數據類型的長度支持到了65535,也就是說可以存放65532個字

            節(注意是字節而不是字符)的數據(起始位和結束位占去了3個字節),也就是說在5.0.3以下版本中需要使用固定的TEX

            T或BLOB格式存放的數據,可以在高版本中使用可變長的varchar來存放,這樣就能有效的減少數據庫文件的大小;     
                            
                             text:與char和varchar不同的是,text不可以有默認值,其最大長度是2的16次方-1;
                            
                             總結如下:
                                       
                                        經常變化的字段用varchar;
                                       
                                        知道固定長度的用char;
                                       
                                        儘量用varchar;
                                       
                                        超過255字符的只能用varchar或者text;
                                       
                                        能用varchar的地方不用text;
                                       
                                        char是一種固定長度的類型,varchar則是一種可變長度的類型,在char(M)類型的數據列里,每個值都佔用M個字節,如果某個   

                長度小於M,Mysql就會在它的右邊用空格字符補足(在檢索操作中那些填補出來的空格字符將被去掉);在varchar(M)類

                型的數據列中,每個值只佔用剛好夠用的字節再加上一個用來記錄其長度的字節(即總長度為L+1字節);比如char(255) 

 和varchar(255),在存儲字符串“hello world”的時候,char會用一塊255的空間放那11個字符,而varchar就不會用255個,

他先計算長度后只用11個再加上計算得到字符串長度信息,一般1-2個byte來,這樣varchar在存儲不確定長度的時候會大

               大減少存儲空間;
                                       
                                        某種原因char固定長度,所以在處理速度上要比varchar快速很多,但是相對浪費存儲空間,所以對存儲要求不高,但在速度

      上有要求 的可以使用char類型,反之可以用varchar類型來實例;一個關於varchar的問題是varchar他既然可以自動適應存儲空間,那我

      們varchar(8)和varchar(255)存儲應該都是一樣的,那每次表設計的時候往大的方向去好了,免得以後不夠用麻煩,這個思路是不對的

      ,mysql會把表信息放到內存中(查詢第一次后,就緩存住了,linux下很明顯,但windows下似乎沒有,不知道為啥),這時內存的申請是

      按照固定長度來的,如果varchar很大就會有問題,所以還是應該按需索取;

3》root用戶密碼忘記以後重新設置
                                    1)修改配置文件,添加如下語句
                                               
                                                [root@CHW scripts]# cat /etc/my.cnf
                                                [mysqld]
                                                datadir=/var/lib/mysql
                                                socket=/var/lib/mysql/mysql.sock
                                                user=root
                                                skip-grant-tables
                                                default-storage-engine=INNODB
                                                # Disabling symbolic-links is recommended to prevent assorted security risks
                                                symbolic-links=0
                                                   
                                    2)重新啟動mysql服務,用mysql直接進入;
                                   
                                    3)使用如下命令重新設置root用戶的密碼;
                                             mysql> update mysql.user set password=PASSWORD("aixocm") where user="root";
                                                Query OK, 3 rows affected (0.00 sec)
                                                Rows matched: 3  Changed: 3  Warnings: 0
                                    4)刷新權限
                                           
                                             mysql> flush privileges;
                                            Query OK, 0 rows affected (0.00 sec)

    

Mysql工作記錄之修改默認存儲引擎及重設root用戶密碼的更多相关文章

  1. 數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)

    ORACLE數據庫轉MySQL數據庫遇到的坑 總結 最近在做Oracle轉mysql的工程,遇到的坑是真的多,尤其是存儲過程,以前都沒接觸過類似的知識,最近也差不多轉完了就總結一下.希望能幫到一些人( ...

  2. MySQL初次安装配置及修改密码

    安装前的准备工作: 下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql-8.0.11 下. 接下来我们需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 ...

  3. 默認打開pr_debug和dev_dbg

    作者:彭東林 郵箱:pengdonglin137@163.com 日期:2016-08-26 18:04:14 在進行Linux驅動開發時經常見到使用pr_debug和dev_dbg打印驅動的log, ...

  4. 開啟apache的日誌功能,但是不記錄.js;.css;.jpg;.ico;.png等訪問記錄

    維護web伺服器最重要的就是要每天都關注網站的訪問日誌,但是每天面對幾百兆的日誌文件實在是非常頭大,所以可以從根源上給日誌減肥一下,讓日誌只記錄對自己有用的內容就變得非常重了. Nginx伺服器要修改 ...

  5. 02.C#可空類型、默認參數、LINQ(一章1.3-1.4)

    利用上班時間發個隨筆,不知領導會不會看到,可能會有同事看到也說不定啊:) 關于可空類型,在C#1中沒有這個概念,在C#3中引入的.那比如我們要實現一個表示人的類,人有名字和年齡兩個屬性,如何表示一個沒 ...

  6. MYSQL 查看最大连接数和修改最大连接数

    MySQL查看最大连接数和修改最大连接数 1.查看最大连接数show variables like '%max_connections%';2.修改最大连接数set GLOBAL max_connec ...

  7. Mysql工作流程分析

    Mysql工作流程图 工作流程分析 1. 所有的用户连接请求都先发往连接管理器 2. 连接管理器    (1)一直处于侦听状态    (2)用于侦听用户请求 3. 线程管理器    (1)因为每个用户 ...

  8. mysql 同时支持多少连接MYSQL 查看最大连接数和修改最大连接数

    MySQL查看最大连接数和修改最大连接数 1.查看最大连接数 show variables like '%max_connections%'; 2.修改最大连接数 set GLOBAL max_con ...

  9. MySQL数据库数据存放位置修改

    MySQL数据库数据存放位置修改 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方 ...

随机推荐

  1. maven 的聚合

  2. Django入门-简单的登录

    1.登录页面   2.项目目录结构   3.需要修改四个文件 urls.py-------路径与函数之间的对应关系 views.py-------函数定义与逻辑处理 加入一个login.html文件 ...

  3. Java GC的原理

    Java GC(garbage collec,垃圾收集,回收) GC是对JVM中的内存进行标记和回收,Sun公司的JDK用的虚拟机都是HotSpot 对象化的实例是放在heap堆内存中的,这里讲的分代 ...

  4. html标签的总结-重复

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. python之函数(function)

    #今天来学习一下函数,function# 定义一个函数的时候,函数不会被执行,只有调用函数,函数才会执行## 定义函数# # 1.def是创建函数的关键字,创建函数# # 2.函数名# # 3.()# ...

  6. sqlserver查询效率 (转)

    很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhan ...

  7. OC 线程操作 - GCD使用 -同步函数,异步函数,串行队列,并发队列

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ // GCD 开几条线程并不是我们 ...

  8. discuz的diy功能介绍

    可以通过页面操作的方式,完成页面布局设计,数据聚合,样式等常见的页面处理功能.   以管理员登陆discuz的前台时,会出现一个diy按钮. 流程,先设计框架,再完成数据的聚合.     定义模板时, ...

  9. Golang之redis

    redis是个开源的高性能的key-value的内存数据库,可以把它当成远程的数据结构. 支持的value类型非常多,比如string.list(链表).set(集合). hash表等等 redis性 ...

  10. macos安装postman

    安装命令 brew cask install postman brew 是从下载源码解压然后./configure && make install,同时会包含相关依存库.并自动配置 好 ...