11月9日任務mysql
11.1 LAMP架構介紹linux
11.2 MySQL、MariaDB介紹sql
11.3/11.4/11.5 MySQL安裝apache
11.1 、LAMP架構介紹vim
# Apache和PHP是一體的,必須在一臺服務器上,可是MySQL能夠單獨存在一臺服務器上,當用戶訪問量很小的時候,三個服務也能夠同時放在一臺服務器上,但當訪問量比較大時就要分開。Apache經過PHP模塊從MySQL抽取數據,這個屬於動態文件。還有一種狀況是Apache直接從Apache子目錄裏邊抽取文件爲靜態文件,例如訪問網頁的logo就是從子目錄裏邊抽取的。緩存
11.二、MySQL_Mar i aDB介紹服務器
11.三、MySQL安裝(上)架構
MySQL的幾個經常使用安裝包:rpm、源碼包、二進制免編譯ssh
cd /usr/local/srctcp
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
cd /usr/local/mysql
useradd mysql
mkdir /data/
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
定義basedir和datadir
/etc/init.d/mysqld start
11.四、MySQL安裝(中)
[root@zgxlinux-01 mysql]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz [root@zgxlinux-01 src]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz [root@zgxlinux-01 src]# ls apr-1.6.5 httpd-2.4.34.tar.gz apr-1.6.5.tar.gz mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz apr-util-1.6.1 pcre-8.10 apr-util-1.6.1.tar.gz pcre-8.10.zip httpd-2.4.34 [root@zgxlinux-01 src]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz [root@zgxlinux-01 src]# ls apr-1.6.5 httpd-2.4.34.tar.gz apr-1.6.5.tar.gz mysql-5.7.23-linux-glibc2.12-x86_64 apr-util-1.6.1 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz apr-util-1.6.1.tar.gz pcre-8.10 httpd-2.4.34 pcre-8.10.zip [root@zgxlinux-01 src]# mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql [root@zgxlinux-01 src]# cd .. [root@zgxlinux-01 local]# ls apache apr-util etc include lib libexec pcre share apr bin games iptables.sh lib64 mysql sbin src [root@zgxlinux-01 local]# cd mysql/ [root@zgxlinux-01 mysql]# ls bin docs lib README support-files COPYING include man share [root@zgxlinux-01 mysql]# useradd mysql [root@zgxlinux-01 mysql]# mkdir /data/ [root@zgxlinux-01 mysql]# ls bin docs man README sql-bench COPYING include my.cnf scripts support-files data lib mysql-test share [root@zgxlinux-01 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql [root@zgxlinux-01 mysql]# echo $? 0 [root@zgxlinux-01 mysql]# ls support-files/my-default.cnf support-files/my-default.cnf [root@zgxlinux-01 mysql]# cp support-files/my-default.cnf /etc/my.cnf #拷貝配置文件到默認目錄下 cp:是否覆蓋"/etc/my.cnf"? y
11.五、MySQL安裝(下)
[root@zgxlinux-01 mysql]# cp support-files/mysql.server /etc/init.d/mysqld #拷貝啓動腳本 [root@zgxlinux-01 mysql]# vim /etc/init.d/mysqld
[root@zgxlinux-01 mysql]# ls -l /etc/init.d/mysqld -rwxr-xr-x 1 root root 10592 11月 10 11:19 /etc/init.d/mysqld [root@zgxlinux-01 mysql]# chkconfig --add mysqld #加入到開機啓動服務 [root@zgxlinux-01 mysql]# chkconfig --list 注:該輸出結果只顯示 SysV 服務,並不包含 原生 systemd 服務。SysV 配置數據 可能被原生 systemd 配置覆蓋。 要列出 systemd 服務,請執行 'systemctl list-unit-files'。 查看在具體 target 啓用的服務請執行 'systemctl list-dependencies [target]'。 mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關 netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關 network 0:關 1:關 2:開 3:開 4:開 5:開 6:關 [root@zgxlinux-01 mysql]# service mysqld start #手動啓動腳本 Starting MySQL.Logging to '/data/mysql/zgxlinux-01.err'. . SUCCESS! [root@zgxlinux-01 mysql]# ps aux |grep mysql #查看進程 root 14195 0.0 0.1 11812 1608 pts/0 S 11:23 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/zgxlinux-01.pid mysql 14303 2.2 44.6 1302720 449776 pts/0 Sl 11:23 0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=zgxlinux-01.err --pid-file=/data/mysql/zgxlinux-01.pid root 14333 0.0 0.0 112720 980 pts/0 R+ 11:23 0:00 grep --color=auto mysql [root@zgxlinux-01 mysql]# netstat -lntp #查看監聽端口 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.56.128:873 0.0.0.0:* LISTEN 1885/rsync tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 952/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1114/master tcp6 0 0 :::3306 :::* LISTEN 14303/mysqld tcp6 0 0 :::22 :::* LISTEN 952/sshd tcp6 0 0 ::1:25 :::* LISTEN 1114/master
#停掉服務,這裏注意最好不適用kill命令,由於kill命令是直接關閉,可能會丟數據。killall會先中止當前的寫讀操做,而後把沒有寫入的數據寫入到緩存中,當數據寫完後再關閉。之後工做中若是中止mysql進程,一分鐘尚未關閉,這個時候不要強制關閉,慢慢等着寫入緩存。
[root@zgxlinux-01 mysql]# yum install psmisc #killall命令沒有的話安裝這個包 [root@zgxlinux-01 mysql]# killall mysqld [root@zgxlinux-01 mysql]# ps aux |grep mysql root 14424 0.0 0.0 112720 980 pts/0 R+ 11:35 0:00 grep --color=auto mysql