mysql php
- 一、編譯安裝mysqld 服務
-
- 1.1 操作步驟流程
-
- 1.将安裝mysql 所需軟體包傳到/opt目錄下
- 2.安裝環境依賴包
- 3.配置軟體子產品
- 4.編譯及安裝
- 5.建立mysql使用者
- 6.修改mysql 配置檔案
- 7.更改mysql安裝目錄和配置檔案的屬主屬組
- 8.設定路徑環境變量
- 9.初始化資料庫
- 10.添加mysql系統服務
- 11.修改mysqld 的登入密碼
- 12.授權遠端登入
- 1.2 操作詳細步驟(含圖文)
- 二、編譯安裝PHP 解析環境
-
- 1.1 操作步驟流程
-
- 1.将安裝PHP 所需軟體包傳到/opt目錄下
- 2.安裝GD庫和GD庫關聯程式,用來處理和生成圖檔
- 3.配置軟體子產品
- 4.編譯及安裝
- 5.複制模版檔案作為PHP 的主配置檔案,并進行修改
- 6.優化把PHP 的可執行程式檔案放入路徑環境變量的目錄中便于系統識别
- 7.修改httpd 服務的配置檔案,讓apache支援PHP
- 8.驗證PHP 測試頁
- 1.2 操作詳細步驟(含圖文)
- 三、安裝論壇
-
- 3.1 操作步驟流程
-
- 1.建立資料庫,并進行授權
- 2.解壓論壇壓縮包
- 3.更改論壇目錄的屬主
- 4.浏覽器通路驗證
- 5. 操作詳細步驟(含圖文)
一、編譯安裝mysqld 服務
1.1 操作步驟流程
1.将安裝mysql 所需軟體包傳到/opt目錄下
mysql-5.7.17.tar.gz
boost_1_59_0.tar.gz #支援c++的運作庫
2.安裝環境依賴包
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
各程式作用解釋如下
:
gcc
gcc-c++
ncurses #字元終端下圖形互動功能的動态庫
ncurses-devel #ncurses開發包
bison #文法分析器
cmake #mysql需要用cmake編譯安裝
3.配置軟體子產品
tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gz
cd /opt
mv boost_1_59_0 /usr/local/boost #重命名
cd /opt/mysql-5.7.17/
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql的安裝路徑
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql程序監聽套接字檔案(資料庫連接配接檔案)的存儲路徑
-DSYSCONFDIR=/etc \ #指定配置檔案的存儲路徑
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #指定程序檔案的存儲路徑
-DDEFAULT_CHARSET=utf8 \ #指定預設使用的字元集編碼,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \ #指定預設使用的字元集校對規則
-DWITH_EXTRA_CHARSETS=all \ #指定支援其他字元集編碼
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝INNOBASE存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安裝BLACKHOLE存儲引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #安裝FEDERATED存儲引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \ #指定資料庫檔案的存儲路徑
-DWITH_BOOST=/usr/local/boost \ #指定boost的路徑,若使用mysql-boost內建包安裝則-DWITH_BOOST=boost
-DWITH_SYSTEMD=1 #生成便于systemctl管理的檔案
存儲引擎選項:
MYISAM,MERGE,MEMORY,和CSV引擎是預設編譯到伺服器中,并不需要明确地安裝。
靜态編譯一個存儲引擎到伺服器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
注意:如果在CMAKE的過程中有報錯,當報錯解決後,需要把源碼目錄中的CMakeCache.txt檔案删除,然後再重新CMAKE,否則錯誤依舊。
4.編譯及安裝
make && make install
5.建立mysql使用者
useradd -M -s /sbin/nologin mysql
6.修改mysql 配置檔案
vim /etc/my.cnf #删除原配置項,再重新添加下面内容
[client] #用戶端設定
port = 3306
socket = /usr/local/mysql/mysql.sock
[mysql] #服務端設定
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash #開啟自動補全功能
[mysqld] #服務全局設定
user = mysql #設定管理使用者
basedir=/usr/local/mysql #指定資料庫的安裝目錄
datadir=/usr/local/mysql/data #指定資料庫檔案的存儲路徑
port = 3306 #指定端口
character-set-server=utf8 #設定伺服器字元集編碼格式為utf8
pid-file = /usr/local/mysql/mysqld.pid #指定pid 程序檔案路徑
socket=/usr/local/mysql/mysql.sock #指定資料庫連接配接檔案
bind-address = 0.0.0.0 #設定監聽位址,0.0.0.0代表允許所有,如允許多個IP需空格隔開
skip-name-resolve #禁用DNS解析
max_connections=2048 #設定mysql的最大連接配接數
default-storage-engine=INNODB #指定預設存儲引擎
max_allowed_packet=16M #設定資料庫接收的資料包大小的最大值
server-id = 1 #指定服務ID号
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
sql_mode常用值如下:
NO_ENGINE_SUBSTITUTION
如果需要的存儲引擎被禁用或未編譯,那麼抛出錯誤。不設定此值時,用預設的存儲引擎替代,并抛出一個異常
STRICT_TRANS_TABLES
在該模式下,如果一個值不能插入到一個事務表中,則中斷目前的操作,對非事務表不做限制
NO_AUTO_CREATE_USER
禁止GRANT建立密碼為空的使用者
NO_AUTO_VALUE_ON_ZERO
mysql中的自增長列可以從0開始。預設情況下自增長列是從1開始的,如果你插入值為0的資料會報錯
NO_ZERO_IN_DATE
不允許日期和月份為零
NO_ZERO_DATE
mysql資料庫不允許插入零日期,插入零日期會抛出錯誤而不是警告
ERROR_FOR_DIVISION_BY_ZERO
在INSERT或UPDATE過程中,如果資料被零除,則産生錯誤而非警告。預設情況下資料被零除時MySQL傳回NULL
PIPES_AS_CONCAT
将"||"視為字元串的連接配接操作符而非或運算符,這和Oracle資料庫是一樣的,也和字元串的拼接函數Concat相類似
ANSI_QUOTES
啟用ANSI_QUOTES後,不能用雙引号來引用字元串,因為它被解釋為識别符
7.更改mysql安裝目錄和配置檔案的屬主屬組
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
8.設定路徑環境變量
echo ‘export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
source /etc/profile
9.初始化資料庫
cd /usr/local/mysql/bin/
./mysqld
–initialize-insecure \ #生成初始化密碼為空
–user=mysql \ #指定管理使用者
–basedir=/usr/local/mysql \ #指定資料庫的安裝目錄
–datadir=/usr/local/mysql/data #指定資料庫檔案的存儲路徑
10.添加mysql系統服務
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #用于systemctl服務管理
systemctl daemon-reload #重新整理識别
systemctl start mysqld.service #開啟服務
systemctl enable mysqld #開機自啟動
netstat -anpt | grep 3306 #檢視端口
11.修改mysqld 的登入密碼
mysqladmin -u root -p password “abc123” #給root賬号設定密碼為abc123,提示輸入的是原始密碼(為空)
12.授權遠端登入
mysql -u root -p
grant all privileges on . to ‘root’@’%’ identified by ‘abc123’;
#授予root使用者可以在所有終端遠端登入,使用的密碼是abc123,并對所有資料庫和所有表有操作權限
show databases; #檢視目前已有的資料庫
1.2 操作詳細步驟(含圖文)
第一步:将三個壓縮檔案拖入到Linux中的/opt目錄下
第二步:安裝環境依賴包
第三步:配置軟體子產品
1)解壓檔案至目前目錄
2)CMAKE相關路徑和安裝相關引擎
第四步:編譯及安裝
第五步:建立mysql使用者,不建立家目錄和禁止登入
第六步:修改mysql 配置檔案
第七步:更改mysql安裝目錄和配置檔案的屬主屬組
第八步:設定路徑環境變量
第九步:初始化資料庫
第十步:添加mysqld系統服務
第十一步:修改mysql 的登入密碼(空密碼)
第十二步:授權遠端登入
二、編譯安裝PHP 解析環境
1.1 操作步驟流程
1.将安裝PHP 所需軟體包傳到/opt目錄下
php-7.1.10.tar.bz2
2.安裝GD庫和GD庫關聯程式,用來處理和生成圖檔
yum -y install
gd
libjpeg libjpeg-devel
libpng libpng-devel
freetype freetype-devel
libxml2 libxml2-devel
zlib zlib-devel
curl curl-devel
openssl openssl-devel
3.配置軟體子產品
cd /opt
tar jxvf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/
./configure
–prefix=/usr/local/php7 \ #指定将 PHP 程式的安裝路徑
–with-apxs2=/usr/local/httpd/bin/apxs \ #指定Apache httpd服務提供的apxs 子產品支援程式的檔案位置
–with-mysql-sock=/usr/local/mysql/mysql.sock \ #指定mysql 資料庫連接配接檔案的存儲路徑
–with-config-file-path=/usr/local/php7 #設定 PHP 的配置檔案 php.ini 将要存放的位置
–with-mysqli \ #添加 MySQL 擴充支援 #mysqli擴充技術不僅可以調用MySQL的存儲過程、處理MySQL事務,而且還可以使通路資料庫工作變得更加穩定
–with-zlib \ #支援zlib功能,提供資料壓縮
–with-curl \ #開啟curl擴充功能,實作HTTP的Get下載下傳和Post請求的方法
–with-gd \ #激活gd 庫的支援
–with-jpeg-dir \ #激活jpeg 的支援
–with-png-dir \ #激活png 的支援
–with-freetype-dir
–with-openssl
–enable-mbstring \ #啟用多位元組字元串功能,以便支援中文等代碼
–enable-xml \ #開啟擴充性标記語言子產品
–enable-session \ #會話
–enable-ftp \ #文本傳輸協定
–enable-pdo \ #函數庫
–enable-tokenizer \ #令牌解釋器
–enable-zip #ZIP壓縮格式
4.編譯及安裝
make && make install
5.複制模版檔案作為PHP 的主配置檔案,并進行修改
cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini
#在測試環境時使用php.ini-development檔案,而在生産環境時使用php.ini-production檔案
vim /usr/local/php7/php.ini
–1170行–修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
–939行–取消注釋,修改
date.timezone = Asia/Shanghai
6.優化把PHP 的可執行程式檔案放入路徑環境變量的目錄中便于系統識别
ln -s /usr/local/php7/bin/* /usr/local/bin/
php -m #檢視PHP 加載了哪些子產品
7.修改httpd 服務的配置檔案,讓apache支援PHP
vim /etc/httpd.conf
–393行–插入以下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
–255行–修改首頁檔案名設定
DirectoryIndex index.html index.php
—檢查支援php7的子產品是否存在------
LoadModule php7_module modules/libphp7.so
8.驗證PHP 測試頁
rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
<?php phpinfo(); ?>
systemctl restart httpd.service
浏覽器通路
http://192.168.153.10
1.2 操作詳細步驟(含圖文)
第一步:将安裝PHP 所需軟體包傳到/opt目錄下
第二步:安裝GD庫和GD庫關聯程式,用來處理和生成圖檔
第三步:配置軟體子產品
1)解壓檔案
2)配置相關軟體子產品
第四步:編譯及安裝
還是make -j2 && make install
第五步:複制模版檔案作為PHP 的主配置檔案,并進行修改
第六步:優化把PHP 的可執行程式檔案放入路徑環境變量的目錄中便于系統識别
第七步:修改httpd 服務的配置檔案,讓apache支援PHP
檢查下面兩個檔案是否正常,如果沒有,則需要重新安裝
第八步:備份index.html,建立index.php檔案。
第九步:開啟服務,驗證PHP 測試頁
重新整理頁面,測試正常!
三、安裝論壇
3.1 操作步驟流程
1.建立資料庫,并進行授權
mysql -u root -p
CREATE DATABASE bbs;
#建立一個資料庫
GRANT all ON bbs.* TO ‘bbsuser’@’%’ IDENTIFIED BY ‘admin123’;
#把bbs資料庫裡面所有表的權限授予給bbsuser,并設定密碼admin123
flush privileges;
#重新整理資料庫
show databases;檢視資料庫
2.解壓論壇壓縮包
unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/httpd/htdocs/bbs #上傳站點更新包
3.更改論壇目錄的屬主
ps aux #檢視發現論壇程序的使用者名是daemon
cd /usr/local/httpd/htdocs/bbs
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data
4.浏覽器通路驗證
論壇頁面通路
http://192.168.153.10
資料庫伺服器:localhost ###本地架設就用localhost,如何不是在在本機上就要填寫IP位址和端口号
資料庫名字:bbs
資料庫使用者名:bbsuser
資料庫密碼:admin123
管理者賬号:admin
管理者密碼:admin123
論壇背景管理者頁面
http://192.168.153.10/bbs/admin.php
5. 操作詳細步驟(含圖文)
第一步:建立資料庫,并進行授權
#把bbs資料庫裡面所有表的權限授予給bbsuser,并設定密碼admin123,重新整理資料庫
第二步:解壓論壇壓縮包
1)解壓
2)上傳站點更新包
3)主控端驗證
4)點選論壇的我同意按鈕進去,發現檔案沒有權限
第三步:更改論壇目錄的屬主
1)檢視論壇程序的使用者名是daemon
2)更改論壇目錄的屬主
第四步:論壇相關設定
1) 重新整理浏覽器檢視檔案是否有權限
2)選擇全新安裝Discuz!X
3)安裝資料庫相關配置,使用者名、密碼等。
4)安裝完成點選通路
5)論壇安裝完成
6)論壇背景管理者頁面
7)管理頁面登入成功