2017.12.14 九周第一次課

11.1 LAMP架構介紹

輸入圖片說明

Apache(httpd):web服務軟件php

Mysql:數據庫,存儲數據的mysql

PHP:編程語言linux

輸入圖片說明

Apache不能直接和Mysql相連c++

11.2 MySQL、MariaDB介紹web

輸入圖片說明

11.3/11.4/11.5 MySQL安裝sql

輸入圖片說明

rpm包安裝有一個缺點就是不能定義你所安裝的路徑,它默認的就是安裝在user下面。shell

二進制免編譯包能夠本身指定數據庫

LAMP 是 Linux Apach MySQL PHP 的縮寫,其實就是把 apach,MySQL以及PHP安裝在LINUX系統上,組成一個環境來運行PHP的腳本語言。編程

Apache是最經常使用的WEB服務軟件,而MySQL 是比較小型的數據庫軟件,這兩個軟件以及PHP均可以安裝到Windows機器上。vim

平時安裝的MySQL 都是源碼包安裝的,可是編譯時間須要很長時間,建議安裝二進制免編譯包。建議下載一個5.6版本。mirrors.souhu.com

初始化mysql

#uname -i 【查看CentOS的位數,選擇相應的MySQL進行下載。uname -a 也能夠】

#cd /usr/local/src 【建議的默認源碼包下載路徑】

#wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-i686-glibc2.5-x86_64tar.gz

#tar

#useradd mysql 【增長一個用戶的,不建立家目錄,自定義shell,/sbin/nologin】

#mv mysql-5.1.72-linux-i686-glibc23 /usr/local/mysql 【移動而且重命名,無需編譯】

#cd /usr/local/mysql

#vim INSTALL-BINARY 【查看readme 或者 install等幫助文檔】

#mkdir -p /data/mysql 【增長數據庫安裝目錄】

#chown -R mysql /data/mysql 【更改權限】

# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql	【執行初始化,指定數據庫所屬主,定以數據庫安裝目錄,建議放置到大的分區上。】

輸入圖片說明

配置 mysql

# cp support-files/my-large.cnf /etc/my.cnf	【拷貝配置文件,可能會提示覆蓋,覆蓋便可】

#cat /etc/my.cnf

# The MySQL server

[mysqld]

port = 3306 【監聽端口,用來 通信】

socket = /tmp/mysql.sock 【socket,linux獨有的通信功能】

skip-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 16M

# Try number of CPU's*2 for thread_concurrency

thread_concurrency = 8

# Replication Master Server (default)

# binary logging is required for replication

log-bin=mysql-bin 【mysql在查詢插入刪除更新數據的時候,會記錄日誌】

# cp support-files/mysql.server /etc/init.d/mysqld	【拷貝啓動腳本並修改屬性】

# chmod 755 /etc/init.d/mysqld

# vim !$

basedir=/usr/local/mysql

datadir=/data/mysql #錯誤日誌所在

# chkconfig --add mysqld	【增長mysqld服務】
# chkconfig mysqld on		【啓動mysqld】
# service mysqld start
# /etc/init.d/mysqld status	【查看mysqld的啓動狀況,也能夠用ps aux 查看,也能夠用 netstat -lnp 查看port】

常見錯誤以及疑問:

一、初始化數據庫的時候報錯 error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

是由於libstdc++.so.5沒有裝

yum install -y compat-libstdc++-33.x86_64

二、創建mysql用戶的目的是,在以後啓動服務,初始化數據的時候,都要用到這個用戶

三、若是啓動不了,請到 /data/mysql/ 下查看錯誤日誌,這個日誌一般是主機名.err. 檢查mysql是否啓動的命令爲:

[root@localhost mysql]# ps aux |grep mysqld

四、怎麼去看這個安裝包是否是免編譯的?

到目前爲止,也只有mysql會有這種包,會以這樣的方式安裝。 看它是否是二進制,看它的名字是否是帶 glibc 和 i586 x86_64 這些字眼,源碼包是不會帶這些的。二進制的包不須要configure make。

關於安裝包,咱們要遵循一個規則,就是要到官網去下載包,下載以前你先看看它是針對平臺的包仍是源碼包,都是有標記和說明的。 固然,下載下來的包,解壓後都會有一個安裝說明文件,一般叫作readme或者INSTALL,看看安裝過程,有make的 確定是源碼包了。 再一個就是經過名稱來看,規範的包,都會在名字上去標記它是什麼包,源碼包名字不會加任何修飾,好比mysql的源碼包,就是mysql-版本號.tar.gz 而免編譯的包,都會標記有i686或者x86_64字眼。mysql-5.1.53.tar.gz 這樣的就是源碼包。

五、初始化的時候....

[root@centos mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/

Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

linux是最小化安裝的,這裏報錯缺乏共享庫文件,不要緊,咱們安裝一下就能夠了。

[root@centos mysql]# yum install -y libaio

六、銘哥,若是我想卸載mysql,是否是直接刪除用戶,刪除init.d下的啓動服務,用chkconfig刪除服務再刪除目錄,就能夠卸載mysql了?還有須要注意的嗎?還有沒有更好的方法呢? 若是是卸載我們的方法安裝的mysql,具體作法是:

  1. 停掉服務

  2. 刪除/usr/local/mysql

  3. 刪除/data/mysql

  4. 刪除/etc/my.cnf

  5. 刪除啓動腳本

  6. 刪除mysql用戶

七、這個用包安裝,和用命令yum install mysql; yum -y install mysql-server ;yum install mysql-devel。這兩個有什麼區別?

區別在於mysql mysql-server mysql-devel 包的區別。

mysql包就是客戶端程序,咱們平時用命令mysql -u -h 鏈接server 的時候,就用這個包

mysql-server 是服務端程序,跑服務的話要安裝這個包

mysql-devel 這個是開發庫相關的包,安裝php的時候,要依賴mysql,就得有這個開發庫支持

八、my-large.cnf my-huge.cnf my-medium.cnf my-small.cnf 這幾個文件有什麼區別?爲何選擇my-large.cnf

文件區別在於,緩存相關的一些參數不一樣,好比large裏面緩存配置參數就比較大。

九、我以前有lamp服務,此次練習安裝把以前的卸載了 運行 cp my-large.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysqld這倆命令的時候, 報錯:cp: not writing through dangling symlink `/etc/init.d/mysqld' 這是什麼緣由?

先刪除/etc/init.d/mysqld 再拷貝

這章須要好好弄明白,週日在複習

相關文章
相關標籤/搜索