中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL入門(一)

發布時間:2020-03-23 18:33:57 來源:網絡 閱讀:3568 作者:MT_IT 欄目:MySQL數據庫
第一部分:MySQL基礎概念
Mariadb的基礎:
    設計范式:
        第一范式:字段是原子性的
        第二范式:非主屬性完全依賴于主屬性    
                存在可用主鍵
        第三范式:非主屬性對主屬性不存在傳遞函數依賴關系。
                任何都不應該依賴于其他表的非主屬性
    約束:主鍵、唯一鍵、外鍵、檢查性約束
    SQL組件
        數據庫、表、索引、視圖、存儲過程、存儲函數、觸發器、事件調度器、用戶和權限
        元數據數據庫:mysql
    Mariadb安裝方式:
        rpm包
        通用二進制
        編譯安裝
第二部分:SQL語句
    DDL,DML
        DDL:create,alter,drop
        DML:insert,delete,update,select
        DCL:grant,revoke,
    MySQL圖形化管理工具


第一部分:MySQL基礎概念        
一、基礎架構
1.數據庫系統:(通用模型)    
 MySQL入門(一)  
分析器:分析sql語句,命令,語法,庫名,字段名,表名等
操作求解器:操作過程應該怎樣執行,可能會提供多條執行路徑
計劃執行器:選擇最優執行路徑,
鎖管理器是事務管理器的一個基本組件
    
文件存取方法    //r或w
緩沖區管理方法  //
磁盤空間管理器     //限定表或者庫占用空間大小
事務管理器        //
恢復管理器        //恢復此前未執行完成的事務
    
2.事務概念    
事務(transaction):組織多個操作為一個整體,要么全部執行,要么全部都不執行
    回滾:rollback,假如未執行完成,所有的都要回滾
    
    Bos:8000-1000
    Alice:5000,5000+1000
    一個存儲系統是否支持事務:測試標準
    ACID:
        A:原子性,不可分割的一個整體
        C:一致性,前后的總和是一致的,變化前后是一致的
        I:隔離性,事務彼此之間是隔離的,我在取錢的時候,其他人不能操作該賬戶
        D:持久性,事務執行成功,則保存在disk中,則不能修改
    原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)      
    
二、數據庫范式
數據庫設計具有一定的規范性        
員工信息:
    約束:外鍵約束,A表依賴于B表的某個字段
    表達式約束:限定age范圍為1-100
    主鍵:唯一的標識身份
    
RDBMS: //一般滿足第三范式即可,范式是遞進關系
    1.第一范式1NF //列不可再分,列唯一
        每一列都是不可分割的原子數據,而不能是集合,屬組等非原子數據項
        實體中有多個值時,必須拆分為不同的屬性,即無重復的域
        關系模式中,每個屬性不可再分。屬性原子性
        
        職工號,姓名,電話號碼組成一個表(一個人可能有多個電話號碼)
        方案1:重復存儲職工號和姓名。這樣,關鍵字只能是電話號碼。//不滿足
        方案2:二是職工號為關鍵字,電話號碼分為單位電話和住宅電話兩個屬性             
    2.第二范式2NF//
        在一范式的基礎上,非主屬性完全依賴于主屬性,即消除非主屬性對主屬性的部分函數依賴關系。
        sc(sid,cid,grade,credit)其中sid為學號, cid為課程號,grade為成績,credit為學分。 由以上條件,關鍵字為組合關鍵字(sid,cid)
        sc(sid,cid,grade,credit)//非關鍵字屬性credit僅函數依賴于cid,也就是credit部分依賴組合關鍵字(sid,cid)而不是完全依賴。
        必須拆分為:sc(sid,cid,grade),c(cid,credit)    
        
    3.第三范式3NF //
        二的基礎上,非主屬性對主屬性不存在傳遞函數依賴關系。
        s(sid,sname,did,dname,location) 各屬性分別代表學號,姓名,所在系,系名稱,系地址。
        問題:did,dname,location將重復存儲
        原因:關系中存在傳遞依賴造成的。即sid -> did。而did ->sid卻不存在,did -> location, 因此關鍵字sid對location函數決定是通過傳遞依賴did->location 實現的。也就是說,sid不直接決定非主屬性location。
        方法:分為兩個關系 s(sid,sname,did),d(dno,dname,location)
        注意:關系s中必須有外關鍵字did。否則兩個關系之間失去聯系。
        
    4.第五范式,巴斯特科范式
        http://www.cnblogs.com/hi-bazinga/archive/2012/06/05/2536806.html
    
三、數據庫其他概念
數據庫:數據的集合

    表:為了滿足范式設計要求,將一個數據集拆分為多個
    約束:constraint,向數據表插入要遵循的限制規則
        主鍵:一個或多個字段的組合,主鍵的數據必須唯一,不能重復
        外鍵:A表某字段能插入的數據依賴于B表的主鍵中的數據
        唯一鍵:一個或多個字段的組合,填入唯一鍵中的約束,必須不同于已存在的數據,可以為空
        檢查性約束:取決于表達式的請求
    索引:將表中的某一個或某些字段抽取出來,單獨存儲為一個獨特的數據結構;
        索引是一個數據結構:
        常見的索引類型:
            樹狀:
            hash:
        目的:加快查找速度,但不利于w請求
    關系運算:
        選擇:選擇符合條件的行
        投影:選擇符合條件的列
        連接:將多張表關聯起來
            左連接,右鏈接,笛卡爾積,內連接
    數據抽象:    
        物理層:決定數據的存儲格式,即如何將數據組織為物理文件
        邏輯層:描述DB存儲什么數據,以及數據間存在什么關系
        視圖層:描述DB中的部分數據;
    關系模型的分類:
        一般關系模型:
        實體關系模型:
        基于對象的關系模型:
        半結構化關系模型:  xml

Mariadb(Mysql)
    Unireg:
    MySQL AB--->公司,早期是針對Unireg做的應用接口,
    賣給了Sun公司,早期是運行在Solaris:二進制版本,后來才在linux上
    Sun被oracle收購了
    My:作者的大女兒
    Maria:作者的三女兒
mysql:www.mysql.com
Mariadb:wwww.mariadb.org
    
四、安裝MariaDB
Mariadb的特性:
    插件式存儲引擎,存儲管理器有多種實現版本,用戶可根據需要靈活選擇        
    存儲引擎也稱為“表類型"
    1.更多的存儲引擎 //show engines
        MyISAM        //5.1默認使用
        MyISAM-->Aria //
        InnoDB-->XtraDB //支持事務5.5以后
    2.諸多擴展新特性:
    3.提供了較多的測試組件
    4.truly open source;真的開源
MySQl的發行機制
    Enterprise:提供了更豐富的功能
    Community:

安裝方式:
    1.rpm包
        1.由OS的發行商提供
        2.程序官方提供
    2.源碼包
    3.通用二進制格式//解壓后,簡單配置即可
通用二進制格式安裝mariadb: //先卸載之前安裝的版本

    1.卸載原有版本解壓新版本

        systemctl stop mariadb
        cp /usr/lib/systemd/system/mariadb.service /root  備份unit文件
        yum remove mariadb-server
        https://downloads.mariadb.org/  
            mariadb-5.5.46-linux-x86_64.tar.gz    //文件名
        tar xvf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
        cd /usr/local
        ln -sv mariadb-5.5.46-linux-x86_64/ mysql

    2. 屬組,目錄及權限,配置文件

        id mysql || group add -r -g 306 mysql //沒有的話,就創建該系統用戶
        cd /usr/local/mysql/
        chown -R root:mysql ./*
        mkdir /mydata/data -pv
        chown -R mysql.mysql /mydata/data/
            注:/etc/my.cnf 是以前的包,需要刪除,或者移動到其他地方
            /usr/local/mysql/support-files :提供有配置文件
        mkdir /etc/mysql
        cp support-files/my-large.cnf /etc/mysql/my.cnf //這個目錄也會被讀取配置
        vim /etc/mysql/my.cnf
            [mysqld]
            ...
            datadir = /mydata/data
            skip_name_resolve = ON
            innodb_file_per_table = ON
            ...

    3.初始化元數據:

        scripts/mysql_install_db --help
        scripts/mysql_install_db  --user=mysql --datadir=/mydata/data --skip-name-resolve
        啟動:
            1.cp support-files/mysql.server /etc/init.d/mysqld //使用centos6的方式
                chmod +x 
                chkconfig --add mysqld
                service mysqld start
            2.vim /root/mairadb.service //使用unit文件啟動
                unit文件修改添加

    
小結:
    1.添加系統用戶,修改屬組
    2.創建目標目錄,修改屬主屬組
    3.復制并修改配置文件
    4.初始化數據庫(指定user,datadir,--skip-name-resolve)
        
后續步驟:    
    1.添加lib
        vim /etc/ld.so.conf.d/mariadb2.conf
         /usr/local/mysql/httpd
        ldconfig -p |grep mysqld
    2.path
        vim /etc/profile.d/mysql.sh
            export PATH=$PATH:/usr/local/mysql/bin
        source /etc/profile
    3.man //在/usr/local目錄下能自己找到    
    4.頭文件include    
        ln -sv /usr/local/mysql/include/mysql/ /usr/include/    
        
步驟:cat INSTALL-BINARY //這個文件有具體的安裝步驟

1.準備/mydata/datda
2.useradd -r mysql
    cd /usr/local
    ln -sv mari-server mysql
    cd /usr/local/mysql/
    chown -R root:mysql ./*
    scripts/mysql_install_db --user=mysql --datadir=/mydata/data
    cp support-files/mysql.server /etc/init.d/mysqld
    chconfig --add mysqld
3.配置文件
    ini格式的配置文件,各程序均可通過此配置文件獲取配置信息;
        [program_name]
    配置文件查找次序:mysql --help //可以看到次序
        1.RPM包的
            /etc/mysql/my.cnf-->/etc/my.cnf---> ~/.my.cnf 
            假如沖突:越靠后,起作用
        2.通用二進制
            /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 
            假如沖突:越靠后,起作用
    cp support-files/my-large.cnf /etc/my.cnf
    添加:
        datadir = /mydata/data
        innodb_file_per_table = ON
        skip_name_resolve = ON
4.啟動服務
    service mairadb start

        
注:數據庫系統非常浪費內存和硬件
    原有的/etc/my.cnf會影響,需要處理
注意:    
    1. 5.x就是為了兼容MySQL5.x的,接口幾乎一致,把支持開源自由軟件的用戶從社區版MySQL拿到MariaDB上
    2.10.x說過會大量使用新技術,接口會與mysql徹底分道揚鑣了。目標就是以后想MariaDB新接口過渡。
          
問題:unit文件
    1.受systemd控制
        安裝后生成的文件:/usr/lib/systemd/system/dhcpd.service
        [root@MT ~]# systemctl enable dhcpd
        Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
    2.cp mariadb55.service /usr/lib/systemd/system/
        vim /usr/lib/systemd/system/mariadb55.service
        ExecStart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql //修改,pre和post都刪除即可
        配置文件,扔為原有的
    

第二部分:SQL語句
DDL,DML
    DDL:create,alter,drop
    DML:insert,delete,update,select
    DCL:grant,revoke,
MySQL圖形化管理工具
    
一、Mariadb程序的組成:
C:client
    mysql:CLI交互式客戶端程序
    mysqldump:備份
    mysqladmin:管理工具
    mysqlbinlog:查看二進制日志
    ...
S:server
    三類套接字地址:
        IPv4,3306/tcp
        Unix Sock:/var/lib/mysql/mysql.lock ,/tmp/mysql.lock //服務啟動生成,關閉刪除
            本機:C===S:127.0.0.1
    mysqld
    mysqld_safe //建議運行使用的服務端程序,默認使用
    mysqld_multi:多實例;
    mysqld_upgrade:升級工具
    ...
獲取其讀取次序的方法
    mysqld --verbose --help | less
    mysql --help | less
mysql命令
    常用選項
    -u 用戶名,默認為root
    -h 遠程主機,默認為localhost
    -p 密碼,默認為空
    -D --database=name,直接選擇數據庫 //在6上默認顯示當前所處的庫,select database();查看,use db_name 使用該庫
    -e --excute=name ,直接運行該命令,并不進入交互式
        
注意:mysql的用戶賬號由兩部分組成:'usernmae'@'host';其中host用于限制此用戶可通過哪些遠程主機連接當前的mysql服務
    host的表示方式,支持使用通配符;
        %:任意長度的任意字符;
            172.16.%.%
        _:匹配單個字符:
二、c/s相關命令
客戶端命令;
服務器命令;通過mysql連接發往服務器執行并取回結果
    
客戶端:

    mysql> help
    \u db_name
    \q 退出
    \d CHAR:設定新的語句結束符
    \g 發送給服務器,通用結束符
    \G 語句結束標記,結果豎排方式顯示
    \s 連接狀態,

        
服務端命令:
    DDL,DML,DCL
    注意:每個語句必須有語句結束符,默認為分號(;)
    
三、數據類型://目的,確定數據格式,能夠參與的運算,可用有效范圍
表:行和列
    創建表:定義表中的字段
定義字段時:確定數據類型非常關鍵
    用于確定:數據存儲格式、能參與運算種類、可表示的有效的數據范圍
字符型:字符集
    碼表:在字符和二進制數字之間建立映射關系
    Db、client、server、Conn可以有不同的字符集
    show characet set
類型:

    字符型
        定長字符型:// 0-255個字符
            char(#):不區分字符大小寫
            binary(#):區分大小寫 0-255
            varbinary(#):0-65535
        變長字符型:// 0-65535多個
            varchar(#):需要一個結束符
            varbinary(#):需要結束符,占用一個字符
        對象存儲://表中存放的是指針,真實的數據存儲在其他地方
            text:存儲大量文本,2^32次方個字符
                tinytext    0-255 //字節
                text        0-65535
                mediumtext    0-2^24
                longtext    0-2^32
            blob:二進制大對象,區分大小寫
                tinyblob,blob,mediumblob,longblob 與text類似
        內置類型:
            set:集合
                SET (‘a’,’b’,’c’)表示插入的值可以是a,b,c三個字符的任意組合,即插入‘a',‘ac',‘abc'都是合法的
            enum:枚舉
                ENUM (‘a’, ‘b’,‘c’)表示插入的值只能在a,b,c中進行選擇

                         
    數值型
        精確數值型
            int(tinyint,smallint,mediumint,int,bigint) 1,2,3,4,8
                int:2^32-1 或者-(2^32/2)-(2^32/2-1) //有無符號
             bit Bit類型只有1和0兩個值
        近似數值型
            float 4字節
            dobule 8字節
                DECIMAL占用(m+2)個字節
                DECIMAL(m,d)中,m表示數字的總長度,小數點不占位;
                    d表示小數點后面的數字長度
                                        
    日期時間型
        日期型:date
        時間型:time
        日期時間型:datetime
        時間戳:timestamp //1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數
        年份:year(2),year(4)
    數據類型修飾符:
        unsigned:無符號數值型
        not null:非空 //        
            default value:默認值

字符型:

MySQL入門(一)

數值型:

MySQL入門(一)

字符修飾符:

    not null/null/default 'string'/collation ''/ 排序的規則

    show character set;

    show collation ;

DML:數據操作語言,主要用于管理表中的數據,實現數據的增,刪,改,查
        insert,delete,update,select

數值類型修飾符:

    not null/null/default numer/

    auto_increment/select last_insert_id() //查看增長到了哪個   

float和double修飾符:
    auto_increment,default,not null,null,unsigned,zerofile
bit:二級制類型
booltype:
    tinyint(1) //mysql的bool型是只顯示tinyint(1),1或者0
    boolean
    bool
日期修飾符:

    null/not null/default

enum和set類型
    enum //從1-65535個字符串,任意一個元素,但是不能組合
    set //1-64 bit個字符串的集合,元素可任意組合
    
    存儲時:enum('a','1') //在存儲數據的時候,存儲的是,enmu中的索引
        例如insert .. value('a') //存儲的是 0 ,也就是enum('a')的索引,而不是a字串
    set存儲:
        set('a','b','c') //insert 數據'a' ,存儲的是100 /因為a出現,其他沒有出現
    //因此一般enum和set不拿來排序和比較    
    修飾符:
        not null/null/default

四、服務器端命令
    DDL:數據定義語言,主要用于定義數據庫組件,例如表,索引,視圖,用戶,存儲過程
        create,alter,drop
    DML:數據操作語言,主要用于管理表中的數據,實現數據的增,刪,改,查
        insert,delete,update,select
    
    獲取命令的幫助
        mysql>help COMMAND
    
數據庫管理:
    1.創建:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ...
        create_specification:
        [DEFAULT] CHARACTER SET [=] charset_name [DEFAULT] COLLATE [=] collation_name
        字符集查看:show character set
        查看排序規則:show collation;
            
    2.修改ALTER {DATABASE | SCHEMA} [db_name]  alter_specification ...
        alter_specification:
            [DEFAULT] CHARACTER SET [=] charset_name [DEFAULT] COLLATE [=] collation_name
    3.刪除DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
    注:可以通過在data目錄中創建子目錄,來建立數據庫,但是不建議這么做
        
表管理:

    創建:create table if not exists tb_name (create_defination) 
        create_defination
            字段:col_name data_type
            鍵:primary key(col1,col2,...)
                unique key (col1,col2,...)
                foreign key(clo)
            索引:
                key|index [index_name} (col1,col2,..)
        create table student(id int unsigned not null,name char(30) not null,age tinyint unsigned,gender enum('f','m'));
        create table student(id int unsigned not null,name char(30) not null,age tinyint unsigned,gender enum('f','m'),primary key(id,name));
        注:unsigned 應該放在not null之前,緊挨著int之后,否則會出錯
        
        engine = 存儲引擎
        show tables status \G;查看默認引擎
        show tables status like student \G;查看指定表
        show engines:查看所有支持的引擎
        show table status like 'student' \G;

注:數據庫有專門的設計工具            
        
修改:alter table table_name alter_specification
alter_specification
    字段:

        add: ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ]
            alter table student add class varchar(100) not null first;
        drop:DROP [COLUMN] col_name|PRIMARY KEY|FOREIGN KEY fk_symbol
            alter table student drop column class;
        modifty:MODIFY [COLUMN] col_name column_definition
            只修改定義
            lter table student modify class varchar(100) not null after id;
        change:CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]

    鍵:
        添加:add {primary key|unique key|unique key} index_name
        刪除:
            drop primary key
            drop froeign key fk_symbol
            drop key|index index_name //鍵在一定程度上也是索引
    索引:
        添加:add {index|key} [index_name} {col1,col2,...}
            刪除:drop primary key
                alter table student drop primary key;
                alter table student add unique key (name);
            查看:show indexes from student
            
        表選項:
            engine = engine_name //不建議,創建時直接指定即可
        表的引用方式:
            tbl_name
            create mydb.class //絕對路徑,庫名.表明
                

五、DDL和DML語句
第二種創建方式:復制表結構
第三種創建方式; 復制表數據

1.索引:加速查詢,但是不利于查詢操作
    索引是特殊的數據結構:
    索引要有名稱:
        創建:crete [索引選項] index index_name [index_type] on tbl_name (col1,col2,...)
            索引選項:unique,fulltext,spatial
            index_type: btree/hash
            mysql中只有memory才支持hash,而memroy表很少手動創建
            create index named_class on student (name,class);
            
            ALTER TABLE table_name ADD INDEX index_name (column_list)
            ALTER TABLE table_name ADD UNIQUE (column_list)
            ALTER TABLE table_name ADD PRIMARY KEY (column_list)            
        
        刪除
            DROP INDEX index_name ON talbe_name
            
            ALTER TABLE table_name DROP INDEX index_name
            ALTER TABLE table_name DROP PRIMARY KEY
            //沒有修改,因為索引是及時創建的
        查看索引:
            SHOW INDEX FROM mytable FROM mydb;
            SHOW INDEX FROM mydb.mytable;
            
            mysql> show index from tblname;
            mysql> show keys from tblname;                
    
2.DML語句:
insert [into] tbl_name {col1,clo2,,,} {values|value} (va1,va2,va3...),(va1,va2,va3,,,),...
    注意:
        字符型:引號
        數值型:前萬不要引號
    insert into student values (1,'xiyu','ou yang feng',78,'f');
    insert into student (id,name) values (2,'huang yao shi'),(3,'zhou botong');
    select * from student;
select
    1.select * from tbl_name
    2.select col1,col2,col3,..  from tbl_name
        顯示時,字段可以顯示為別名
        select id as stuid,name from student; //投影
    3.select col1,col2,...  from tbl_name where claues
        where clause:用于指明挑選條件
                age>30
            操作符:
                >,>=,=,小于,小于等于
            組合測試:
                and
                or
                not
            操作符:
                between // age between 30 and 80
                like 'pattern' //
                    like支持的通配符
                        %:任意長度的任意字符
                        _:單個字符
                rlike //正則表達式
                    ^ 行首
                    $ 結尾
                is
                    is null//為空的
                    is not null //非空的
    4.select col1,col2,... tbl_name [where clause] order by col_name,col_name2  [asc|desc]
        desc 將序排序
                    
        select id,name,age from student where age>30;
        elect id,name,age from student where name='OU yANG FENG' and age>30;
        select name from students where name like '%ang%'
        select name from student where name rlike '^z.*bo*';
        select id,name from student order by id desc;

delete
    delete from tbl_name [where where_conditon] [order by ...] [limit row_count]
    刪除是按行刪除的,不能只刪除一行的一個字段
    delete from student where age is null //假如不給where,會刪除整個表
    生成隨機數據:    
        for i in {1..100} ; do AGE=$RANDOM%100;mysql -e "insert into testdb.student (id,name,age) values ($i,'stu$i',$AGE);"; done
        stu$i,%ARG //使用“” 也可以
    
    delete from student  order by age desc limit 20;    
    select * from student order by age desc;

update:
    update  //id最大的人的年齡減去10歲
    update student set age=age-5 order by id desc limit 10;
    select id,name,age from student order by id desc;
    update student set age=age-15 where name not like 'stu%';

六、用戶賬號及權限管理        
用戶賬號: 'username'@'host'
    host:此用戶訪問當前服務器時,允許其通過哪些主機遠程創建鏈接
        表示方式:IP,網絡,主機名,通配符{%和_}
    禁止檢查主機名:my.cnf
        [mysqld]
            skip_name_resolve = ON
            
create user 'wolf'@'host' identified by 'password' //只有查看test庫權限
刪除用戶:
    drop user test;
查看用戶信息:
    select host,user,password from user;
授權級別:
    權限級別:管理權限、數據庫、表、字段、存儲過程;
    grant priv_type,... on [object_type]  db_name.tbl_name  to 'user'@'host'  [identified by 'password']
        db_name.tb_name
        db_name.* //庫內的所有表
        *.* 所有的庫和表
        db_name.routine_name: 指定庫上的存儲過程或存儲函數
    [object_type]
        TABLE
        FUNCTION
        PROCEDURE
    grant select on testdb.* to 'testdb'@'192.168.4.%';     //假如沒有改用戶的話,會自動創建該用戶
    grant select on testdb.student to 'wolf'@'192.168.4.%';
    flush privileges;
    show grants for 'wolf'@'192.168.4.%';
    show grants for current_user; //查看當前用戶授權
收回權限:
    revoke select on testdb.student from 'wolf'@'192.168.4.%';
    revoke ...  from
    grant  ...  on  ....  to ..A@B
        
注意:MariaDB服務進程啟動時,會讀取mysql庫的所有授權表至內存中;
    1.grant或revoke命令等執行的權限操作,會保存于表中,MariaDB此時一般會自動重新    讀取授權表,權限修改會立即生效
    2.其他方式實現的權限,要想生效,必須flush privileges
        
注意;安全選項
    /usr/local/mysql/bin/mysql_secure_installation 設置初始化密碼
后期添加密碼:
    grant all privileges on MT.* to 'mt'@'192.168.4.%';  //假如忘了加 identified by "password"
    select user,host,password from user; //是沒有密碼的
    update user set password=password('mingtian') where user='mt'; //只能使用這種
    insert 是插入一個新行,在這里不能使用

七、phpMyAdmin //mysql圖形化管理工具
解壓到網頁目錄
    ln -sv phpMyAdmin-3.4.10.1-all-languages MyAdmin
    cp config.sample.inc.php config.php
    openssl rand -base64 15
        FSJJJFVLvfiQeoepws88

    vim config.php //加密cookie
        $cfg['blowfish_secret'] = 'FSJJJFVLvfiQeoepws88'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
    systemctl restart httpd    

    yum install php-mbstring -y //多種語言支持
    
    問題:缺少mcrypt擴展
        yum  install php-mcrypt
    問題:必須啟用cookie才能使用
        1.vim config.inc.php
            $cfg['blowfish_secret'] = 'cookie';
            $cfg['Servers'][$i]['connect_type'] = 'socket'; //如果 MySQL 使用 socket 方式連接
        2.vim libraries/config.default.php
            $cfg['blowfish_secret'] = 'cookie'; 文件中默認為空,這里需要填寫和 config.inc.php 一樣的值。
            $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock'; 這個需要根據自己 mysql 配置內容填寫,如果不知道置空
圖形管理工具:
    phpMyAdmin
    Navicat
    Mysql-Front
    ToadForMySQL
    SQLyog
        
存儲引擎的概念:   myisam,innodb,
    Myisam:不支持事務
    innodb:支持事務,不支持fulltext索引

后面的文章會詳細解釋

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淄博市| 清徐县| 兴文县| 邵阳市| 射洪县| 伊川县| 上虞市| 江川县| 桃江县| 南宫市| 尼木县| 高密市| 齐河县| 错那县| 娄烦县| 濮阳县| 阳江市| 津南区| 北安市| 贺州市| 嵩明县| 财经| 吕梁市| 汪清县| 当涂县| 琼海市| 防城港市| 江津市| 思茅市| 保靖县| 安溪县| 高密市| 盐城市| 满洲里市| 大城县| 巴林右旗| 古浪县| 沁阳市| 乌兰县| 绥芬河市| 高平市|