LAMP架構和MySQL_MariaDB介紹及MySQL安裝
LAMP 是Linux Apache MySQL PHP的簡寫,其實就是把Apache, MySQL以及PHP安裝在Linux系統上,組成一個環境來運行php的腳本語言。Apache是最常用的WEB服務軟件,而MySQL是比較小型的數據庫軟件,這兩個軟件以及PHP都可以安裝到windows的機器上。
1、Linux+Apache(httpd)+MySQL+PHP
2、三個角色可以在一臺機器、也可以分開(httpd和PHP要在一起)
3、httpd、PHP、MySQL三者如何工作
參考文檔:http://blog.csdn.net/zdp072/article/details/50583581
二、MySQL和MariaDB介紹
MySQL/Mariadb介紹
- MySQL是一個關系型數據庫,有mysql ab公司開發,mysql在2008年被sun公司收購(10億刀),2009年sun公司被Oracle公司收購(74億刀)
- MySQL官網https://www.mysql.com 最新版本5.7GA/8.0DMR
- MysSQL5.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都是源碼包安裝的,但是由於它的編譯需要很長的時間,所以建議安裝二進制免編譯包。你可以到MySQL官方網站去下載 http://dev.mysql.com/downloads/ 具體版本根據你的平臺和需求而定,目前比較常用的為mysql5.6版本。(註意,下面的安裝步驟是基於64位操作系統的,如果你的系統為32位,則需要下載一個32位的包)
uname -a //查看系統版本
1、下載mysql到/usr/local/src/
[root@zlinux ~]# cd /usr/local/src
[root@zlinux src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz^C
2、解壓
[root@zlinux src]# tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
3、把解壓完的數據移動到/usr/local/mysql
[root@zlinux src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
4、創建mysql用戶
[root@zlinux mysql]# useradd mysql
5、創建/data/目錄,已經存在的話則不創建(用於存放mysql的數據文件)
[root@zlinux mysql]# mkdir /data/
6、初始化mysql
[root@zlinux mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
--user 定義數據庫的所屬主, --datadir 定義數據庫安裝到哪裏,建議放到大空間的分區上,這個目錄需要自行創建。
初始化的時候,可能回出現如下問題:
字面意思就是,缺少Perl模塊,缺少Dumper的支持,那麽怎麽解決呢?
使用模糊搜索,過濾關鍵來嘗試解決:
[root@zlinux mysql]# yum list | grep perl | grep -i dumper //-i忽略大小寫
搜索完成後出現以上四個安裝包,無法確定需要哪個安裝包的時候,可以嘗試每個安裝包都試下。
[root@zlinux mysql]# yum install -y perl-Data-Dumper.x86_64
安裝好之後,重新初始化mysql:
出現兩個OK,說明安裝成功。
7、拷貝配置文件
[root@zlinux mysql]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y
8、拷貝啟動腳本文件並修改權限
[root@zlinux mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@zlinux mysql]# chmod 755 /etc/init.d/mysqld
然後修改啟動文件:
[root@zlinux mysql]# vi /etc/init.d/mysqld
9、把啟動腳本加入系統服務項,設定開機啟動並啟動mysql
[root@zlinux mysql]# chkconfig --add mysqld //把mysqld服務加入到系統服務列表中
[root@zlinux mysql]# chkconfig mysqld on //開機啟動mysqld
[root@zlinux mysql]# service mysqld start //啟動mysqld
Starting MySQL.Logging to ‘/data/mysql/zlinux.err‘.
. SUCCESS!
如果啟動不了,請到 /data/mysql/ 下查看錯誤日誌,這個日誌通常是主機名.err.。
檢查mysql是否啟動的命令為:
[root@zlinux mysql]# ps aux |grep mysqld
查看監聽端口:
[root@zlinux mysql]# ps aux |grep mysqld
停止mysql:
[root@zlinux mysql]# service mysqld stop
Shutting down MySQL.. SUCCESS!
如果沒有init.d的啟動腳本啟動可以用命令行的方式啟動:
[root@zlinux mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
以命令行的形式運行,還有什麽其他方法關掉呢?
必須以killall命令殺掉進程,比較安全。
killall 命令會先把程序執行完畢,才殺掉進程。
如果killall等了很久都沒有殺死,說明數據量很大,需要寫到磁盤中完畢後,慢慢殺死;
如果強制殺死,可能導致數據丟失或表的損壞。
LAMP架構和MySQL_MariaDB介紹及MySQL安裝