1. 程式人生 > >Linux學習-1109(LAMP-mysql安裝)

Linux學習-1109(LAMP-mysql安裝)

11.1 LAMP架構介紹

11.2 MySQL、MariaDB介紹

11.3/11.4/11.5 MySQL安裝

 

一、LAMP架構介紹

        LAMP就是Linux+Apache(httpd)+MySQL+PHP ,簡稱LAMP。

        Linux:作業系統,如centos、redhat、Ubuntu。

        Apache:也叫httpd,web服務軟體

        Mysql:關係型資料庫

        PHP:指令碼語言,由 C語言 開發,通常用於做網站

        三個角色可以在一臺機器上,也可以分開,apache要和php在一起。

  • httpd、PHP、MySQL工作原理    

        è¾“入图片说明

        

二、MySQL、MariaDB介紹

  •  MySQL是一個關係型資料庫,由mysql ab公司開發,mysql在2008年被sun公司收購(10億刀),2009年sun公司被oracle公司收購(74億刀)
  •  MySQL官網https://www.mysql.com  最新版本5.7GA/8.0DMR
  •  MySQL5.6變化比較大,5.7效能上有很大提升
  •  Mariadb為MySQL的一個分支,官網https://mariadb.com/最新版本10.2
  •  MariaDB主要由SkySQL公司(現更名為MariaDB公司)維護,SkySQL公司由MySQL原作者帶領大部分原班人馬創立.
  •  Mariadb5.5版本對應MySQL的5.5,10.0對應MySQL5.6
  •  Community 社群版本,Enterprise 企業版,GA(Generally Available)指通用版本,在生產環境中用的,DMR(Development Milestone Release)開發里程碑釋出版,RC(Release Candidate)發行候選版本,Beta開放測試版本,Alpha內部測試版本
     

三、Mysql安裝

        Mysql的幾種安裝方式:rpm、原始碼、二進位制免編譯。如果沒有特殊要求一般使用進位制免編譯安裝

原始碼安裝步驟:

 1、下載mysql5.6安裝包

    cd /usr/local/src 

     wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

2、解壓安裝包

  • cd /usr/local/src
  • tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
  • mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql

3、編譯安裝

  • cd /usr/local/mysql
  • useradd mysql
  • mkdir /data/
  • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

    這一步可能會缺包:

    yum install perl-Data-Dumper.x86_64

    yum install libaio

4、修改配置檔案

  • cp support-files/my-default.cnf /etc/my.cnf

    修改:

    basedir=/usr/local/mysql

    datadir=/data/mysql

    socket=/tmp/mysql.sock

    symbolic-links=0

5、mysql啟動和關閉

  • cp support-files/mysql.server /etc/init.d/mysqld
  • vi /etc/init.d/mysqld
  • 啟動 /etc/init.d/mysqld start 或者 service mysqld start
  • 新增至開機啟動

        chkconfig --add mysqld

  • ln -s /usr/local/mysql/bin/mysql /usr/bin

 

6、增加root遠端連線許可權

    mysql -u root

    mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "mysql#2018";

    mysql> flush privileges;