国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

linux安裝mysql8.0.x的完整步驟

來源:懂視網 責編:小采 時間:2020-11-09 21:14:48
文檔

linux安裝mysql8.0.x的完整步驟

linux安裝mysql8.0.x的完整步驟:MySQL MySQL簡介 MySQL原本是一個開放源代碼的關系數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司于2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。 My
推薦度:
導讀linux安裝mysql8.0.x的完整步驟:MySQL MySQL簡介 MySQL原本是一個開放源代碼的關系數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司于2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。 My

MySQL

MySQL簡介

MySQL原本是一個開放源代碼的關系數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司于2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。

MySQL在過去由于性能高、成本低、可靠性好,已經成為最流行的開源數據庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規模網站和應用,比如維基百科、Google和Facebook等網站。非常流行的開源軟件組合LAMP中的“M”指的就是MySQL。

但被甲骨文公司收購后,Oracle大幅調漲MySQL商業版的售價,且甲骨文公司不再支持另一個自由軟件項目OpenSolaris的發展,因此導致自由軟件社群們對于Oracle是否還會持續支持MySQL社群版(MySQL之中唯一的免費版本)有所隱憂,MySQL的創始人麥克爾·維德紐斯以MySQL為基礎,成立分支計劃MariaDB。而原先一些使用MySQL的開源軟件逐漸轉向MariaDB或其它的數據庫。例如維基百科已于2013年正式宣布將從MySQL遷移到MariaDB數據庫[6]。

關系型數據庫

關系數據庫(英語:Relational database),是創建在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。現實世界中的各種實體以及實體之間的各種聯系均用關系模型來表示。關系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。現如今雖然對此模型有一些批評意見,但它還是數據存儲的傳統標準。標準數據查詢語言SQL就是一種基于關系數據庫的語言,這種語言執行對關系數據庫中數據的檢索和操作。

關系模型由關系數據結構、關系操作集合、關系完整性約束三部分組成。

MySQL特性

MySQL是一種使用廣泛的數據庫,特性如下:

  • 使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性  
  • 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2
  • Wrap、Solaris、Windows等多種操作系統。   
  • 為多種編程語言提供了API。編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。   
  • 支持多線程,充分利用CPU資源   
  • 優化的SQL查詢算法,有效地提高查詢速度
  • 既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而
  • 嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名
  • 提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑
  • 提供用于管理、檢查、優化數據庫操作的管理工具
  • 可以處理擁有上千萬條記錄的大型數據庫
  • MySQL應用

    與大型數據庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 目前Internet上流行的網站構架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統,Apache作為Web服務器,MySQL作為數據庫,PHP作為服務器端腳本解釋器。由于Linux+Apache+MySQL+PHP都是自由或開放源碼軟件(FLOSS),因此使用LAMP不用花一分錢就可以建立起一個穩定、免費的網站系統。

    MySLQ存儲引擎

  • MySQL存儲引擎簡介
  • 插件式存儲引擎是MySQL數據庫最重要的特性之一,用戶可以根據應用的需要選擇如何存儲和索引數據庫,是否使用事務等。mySQL默認支持多種存儲引擎,以適應不同領域的數據庫應用需要。用戶可以通過選擇使用不同的存儲引擎提高應用的效率,提供靈活的存儲,用戶設置可以按照自己的需要定制和使用自己的存儲引擎,以實現最大程度的可定制性。

    MySQL常用的存儲引擎為MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事務安全表,其他存儲引擎都是非事務安全表。

    MyISAM是MySQL的默認存儲引擎。MyISAM不支持事務、也不支持外鍵,但其訪問速度快,對事務完整性沒有要求。

    InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是比起MyISAM存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數據和索引。MySQL支持外鍵存儲引擎只有InnoDB,在創建外鍵的時候,要求附表必須有對應的索引,子表在創建外鍵的時候也會自動創建對應的索引。

  • MySQL存儲引擎特性
  • 主要體現在性能、事務、并發控制、參照完整性、緩存、故障恢復,備份及回存等幾個方面

    目前比較普及的存儲引擎是MyISAM和InnoDB,而MyISAM又是絕大部分Web應用的首選。MyISAM與InnoDB的主要的不同點在于性能和事務控制上。

    MyISAM是早期ISAM(Indexed Sequential Access Method)的擴展實現,ISAM被設計為適合處理讀頻率遠大于寫頻率的情況,因此ISAM以及后來的MyISAM都沒有考慮對事物的支持,不需要事務記錄,ISAM的查詢效率相當可觀,而且內存占用很少。

    MyISAM在繼承了ISAM優點的同時,與時俱進的提供了大量實用的新特性和相關工具。例如考慮到并發控制,提供了表級鎖。

    而且由于MyISAM是每張表使用各自獨立的存儲文件(MYD數據文件和MYI索引文件),使得備份及恢復十分方便(拷貝覆蓋即可),而且還支持在線恢復。

    所以如果應用不需要事務,不支持外鍵,處理的只是基本的CRUD(增刪改查)操作,那么MyISAM是不二選擇。

    linux (CentOS7.5_x86_64)下安裝mysql8.0

    # 下載mysql 
    
    $ wget http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-el7-x86_64.tar.gz
    
    # 解壓
    $ mysql tar -zxvf mysql-8.0.4-rc-linux-glibc2.12-x86_64.tar.gz -C /usr/local
    
    # 修改文件夾名稱 
    $ mv mysql-8.0.4-rc-linux-glibc2.12-x86_64/ mysql
    
    添加默認配置文件
    $ vim/etc/my.cnf
    
    [client]
    port=3306
    socket=/tmp/mysql.sock
    
    [mysqld]
    port=3306
    user=mysql
    socket=/tmp/mysql.sock
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    
    
    # 創建mysql組
    $ groupadd mysql
    
    # 創建mysql用戶
    $ useradd -g mysql mysql
    
    # 創建mysql數據目錄
    $ mkdir $MYSQL_HOME/data
    
    # 初始化mysql 
    $ /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    
    
    # 初始化報錯
    bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    
    # 解決方法
    yum install -y libaio
    
    # 初始化報錯
    2018-07-08T02:53:24.542370Z 0 [System] [MY-010116] /usr/local/mysql/bin/mysqld (mysqld 8.0.4-rc) starting as process 17745 ...
    mysqld: Can't create/write to file '/tmp/mysql/data/ibd35qXQ' (Errcode: 13 - Permission denied)
    2018-07-08T02:53:24.554816Z 1 [ERROR] [MY-011066] InnoDB: Unable to create temporary file; errno: 13
    2018-07-08T02:53:24.554856Z 1 [ERROR] [MY-011066] InnoDB: InnoDB Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.
    2018-07-08T02:53:24.555000Z 0 [ERROR] [MY-010020] Data Dictionary initialization failed.
    2018-07-08T02:53:24.555033Z 0 [ERROR] [MY-010119] Aborting
    2018-07-08T02:53:24.555919Z 0 [System] [MY-010910] /usr/local/mysql/bin/mysqld: Shutdown complete.
    
    # 解決辦法:修改/tmp/mysql的目錄權限
    $ chown -R mysql:mysql /tmp/mysql
    
    
    # 初始化成功
    > 如果無異常情況日志如下可以看到mysql默認會生成root賬號和密碼root@localhost: /TI(mjVAs1Ta
    
    [root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    2019-01-29T10:19:34.023997Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 4240
    2019-01-29T10:19:39.764895Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: /TI(mjVAs1Ta
    2019-01-29T10:19:43.041419Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed
    
    # 拷貝mysql啟動文件到系統初始化目錄
    $ cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    
    # 啟動mysql服務器
    $ service mysqld start

    mysql 基本操作

    # 使用mysql客戶端連接mysql
    $ /usr/local/mysql/bin/mysql -u root -p password
    
    修改mysql的默認初始化密碼
    > alter user 'root'@'localhost' identified by 'root';
    
    # 創建用戶 CREATE USER '用戶名稱'@'主機名稱' INDENTIFIED BY '用戶密碼'
    > create user 'jack'@'localhost' identified by 'jack';
    
    # 授予權限 grant 權限 on 數據庫.表 to '用戶名'@'登錄主機' [INDENTIFIED BY '用戶密碼'];
    > grant replication slave on *.* to 'jack'@'localhost';
    
    # 刷新
    # $ flush privileges; 
    
    # 修改root用戶可以遠程連接
    > update mysql.user set host='%' where user='root';
    
    # 查看mysql所用用戶
    > select user,host from mysql.user;
    
    # docker 修改mysql的最大連接數
    apt-get update
    apt-get install vim
    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    max_connections=1000
    
    > alter user 'root'@'%' identified with mysql_native_password by 'root';

    mysql 集群主從復制

    準備兩臺安裝好的mysql服務器

    # 配置主服務添加如下配置
    $ vim /etc/my.cnf
    
    # 節點唯一id值
    server-id=1
    
    # 開啟二進制日志
    log-bin=mysql-bin
    
    # 指定日志格式 有mixed|row|statement 推薦mixed
    binlog-format=mixed
    
    # 步進值auto_imcrement。一般有n臺主MySQL就填n(可選配置)
    auto_increment_increment=2 
    
    # 起始值。一般填第n臺主MySQL。此時為第一臺主MySQL(可選配置)
    auto_increment_offset=1 
    
    # 忽略mysql庫(可選配置)
    binlog-ignore=mysql 
    
    # 忽略information_schema庫(可選配置)
    binlog-ignore=information_schema 
    
    # 要同步的數據庫,默認所有庫(可選配置)
    replicate-do-db=db1
    
    
    # slave 節點配置
    
    # 節點唯一id值
    server-id=2
    
    # 開啟二進制日志
    log-bin=mysql-bin
    
    # 步進值auto_imcrement。一般有n臺主MySQL就填n(可選配置)
    auto_increment_increment=2
    
    # 起始值。一般填第n臺主MySQL。此時為第一臺主MySQL(可選配置)
    auto_increment_offset=2
    
    # 要同步的數據庫,默認所有庫(可選配置)
    replicate-do-db=db1
    
    
    # 查看 master 的狀態 , 尤其是當前的日志及位置
    > show master status;
    +------------------+----------+--------------+------------------+-------------------+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000004 | 1608 | | | |
    +------------------+----------+--------------+------------------+-------------------+
    
    # 在slave節點執行如下命令
    
    注意master_log_file 是對應show master status;中file的值,master_log_pos是對應position的值
    
    > change master to
    master_host='192.168.79.15',
    master_user='root',
    master_password='root',
    master_log_file='mysql-bin.000009',
    master_log_pos=0;
    
    # 啟動 slave 狀態 ( 開始監聽 msater 的變化 )
    > start slave;
    
    # 查看 slave 的狀態 
    > show slave status\G
    
    *************************** 1. row ***************************
     Slave_IO_State: Waiting for master to send event
     Master_Host: 192.168.79.15
     Master_User: root
     Master_Port: 3306
     Connect_Retry: 60
     Master_Log_File: mysql-bin.000009
     Read_Master_Log_Pos: 863
     Relay_Log_File: node-6-relay-bin.000002
     Relay_Log_Pos: 500
     Relay_Master_Log_File: mysql-bin.000009
     Slave_IO_Running: Yes
     Slave_SQL_Running: Yes
     Replicate_Do_DB: 
     Replicate_Ignore_DB: 
     Replicate_Do_Table: 
     Replicate_Ignore_Table: 
     Replicate_Wild_Do_Table: 
     Replicate_Wild_Ignore_Table: 
     Last_Errno: 0
     Last_Error: 
     Skip_Counter: 0
     Exec_Master_Log_Pos: 863
     Relay_Log_Space: 709
     Until_Condition: None
     Until_Log_File: 
     Until_Log_Pos: 0
     Master_SSL_Allowed: No
     Master_SSL_CA_File: 
     Master_SSL_CA_Path: 
     Master_SSL_Cert: 
     Master_SSL_Cipher: 
     Master_SSL_Key: 
     Seconds_Behind_Master: 0
    Master_SSL_Verify_Server_Cert: No
     Last_IO_Errno: 0
     Last_IO_Error: 
     Last_SQL_Errno: 0
     Last_SQL_Error: 
     Replicate_Ignore_Server_Ids: 
     Master_Server_Id: 1
     Master_UUID: 6291c709-23af-11e9-99fb-000c29071862
     Master_Info_File: mysql.slave_master_info
     SQL_Delay: 0
     SQL_Remaining_Delay: NULL
     Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
     Master_Retry_Count: 86400
     Master_Bind: 
     Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
     Master_SSL_Crl: 
     Master_SSL_Crlpath: 
     Retrieved_Gtid_Set: 
     Executed_Gtid_Set: 
     Auto_Position: 0
     Replicate_Rewrite_DB: 
     Channel_Name: 
     Master_TLS_Version: 
     Master_public_key_path: 
     Get_master_public_key: 0
    
    # 當Slave_IO_Running: Yes和Slave_SQL_Running: Yes都為yes是說明主從復制正常
    
    
    #重置 slave 狀態 .
    $ reset slave;
    
    #暫停 slave 狀態 ;
    $ stop slave;

    總結

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    linux安裝mysql8.0.x的完整步驟

    linux安裝mysql8.0.x的完整步驟:MySQL MySQL簡介 MySQL原本是一個開放源代碼的關系數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司于2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。 My
    推薦度:
    標簽: 步驟 安裝 linux
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美日韩小视频 | 亚洲欧洲一区 | 国产精品日本 | 日本高清一二三区 | 亚洲国产综合久久精品 | 欧美国产日韩另类 | 亚洲欧美影视 | 老司机精品视频一区二区 | 日本免费一区尤物 | 美女全黄网站 | 亚洲欧洲第一页 | 小处雏高清一区二区三区 | 日韩欧美大陆 | 全免费a级毛片免费毛视频 热re91久久精品国产91热 | 可以免费观看的毛片 | 国产视频一区二区三区四区 | 欧美日韩国产综合视频在线看 | 精品国产不卡一区二区三区 | 国产精品久久久久久久 | 福利视频一区二区牛牛 | 亚洲一区二区三区成人 | 国产精品免费观看网站 | 日韩首页 | 久热中文字幕在线精品首页 | 国产成人精品亚洲一区 | 欧美综合另类 | 国产精品一区二区三区四区五区 | 欧美特黄一区二区三区 | 亚洲国产欧美91 | 在线免费观看一区二区三区 | 国内精品视频在线播放 | 午夜啪啪网 | 亚洲精品乱码久久久久久中文字幕 | 日韩一区三区 | 日韩精品欧美高清区 | 日本a级片免费观看 | 国产高清美女一级a毛片久久 | 亚洲欧美日韩在线观看 | 亚洲一级毛片免观看 | 97一级毛片全部免费播放 | 亚洲成人精品久久 |