您好,登錄后才能下訂單哦!
[toc]
Appache是最常用的web服務軟件,而MYSQL是比較小型的數據庫軟件,這兩個軟件及PHP都可以安裝到windows機器上
擴展:
什么是腳本語言?,為什么php語言是腳本語言
問:1、腳本語言和編程語言和html是不是計算機語言的主要的分類?區別在什么地方?關鍵是php是腳本語言這個怎么理解?——因為我才剛開始學php語言,所以請大俠們說得盡量通俗易懂些。2、我要做功能比較全的網站,用的是自主建站系統,但是是不是最好也學點php語言?
答1:編程語言一般用來編寫應用程序,像C,C++,VB,DEPHI,JAVA等,功能強大,學習難度也較大。
腳本語言一般用來編寫一些簡單的應用,像JS,VBS,JSP,ASP,PHP等,宏程序也可以算是腳本語言。腳本語言比起編程語言來說最大的缺點是執行效率低,但編寫要容易點。
HTML不算是語言,雖然它叫超文本標記語言,其實只能算是一些控制標記,寫出來的也不稱為程序。
靜態網頁中也可以有VBS或JS腳本,它們只是前臺的。
ASP中既可以用VBS也可以JS,只不過通常大部分人用VBS罷了,它們是后臺的。
PHP與C語法幾乎相同,其實與JS也幾乎相同,都很接近
你要做網站要學習ASP(有點落后了,不過入門較容易)或PHP或JSP或ASP.net(可以學VB.net也可以學C#.net)中的至少一樣。
免費的整站系統可以免費使用修改,但大多不允許商業使用,你可以去相應的官方網站查看授權文件。
答二:c;c++;perl;vb;匯編等等這些屬于編程語言
腳本語言主要是我們常見的asp;php等
asp從屬于vb,是vb的一個子集
php是使用c開發的
不管是asp還是php都是需要服務器解析執行,但是html和他們是不同的,html不需要服務器解析執行,他只需要直接輸出就行了,所以我們叫html是超文本.
如果你使用的自助建站系統是php開發的,那么倘若你想開發復雜的網站你最好學一下PHP,這樣你就可以改寫建站系統的核心,但是如果你只用它來做普通的企業站,php你學不學都沒關系.
MySQL存儲用戶名;密碼和數據、圖片之類的放在靜態文件里
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內部測試版本
[root@localhost src]# uname -i
x86_64
什么是源碼包:源碼包都是可以更改的C或者C++語言編寫的源碼文件,而免編譯的二進制包就是已經編譯過的文件再打包后提供給我們.比如windows上安裝的QQ,360都是這種安裝包.
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
[root@localhost src]#tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
[root@localhost src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
# [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old
類似一條if判斷,意思是如果/usr/local/mysql目錄存在,就改一下名字,以免影響后面的操作,如果不更改原有的路徑名稱,新安裝的mysql步驟會失敗
[root@localhost src]# cd /usr/local/mysql/
[root@localhost mysql]# ls
bin COPYING data docs include lib man mysql-test README scripts share sql-bench support-files
[root@localhost mysql]# useradd mysql
在書中的創建方式為:# useradd -s /sbin/nologin mysql
[root@localhost mysql]# mkdir /data/
# chown -R mysql:mysql /data/mysql //給/data/mysql這個文件夾服務mysql用戶的執行權限
--user 定義數據庫的所屬主, --datadir 定義數據庫安裝到哪里,建議放到大空間的分區上,這個目錄需要自行創建。
初始化的時候,可能回出現如下問題:
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
那么怎么解決呢?
使用模糊搜索,過濾關鍵來嘗試解決:
[root@localhost mysql]# yum list | grep perl | grep -i dumper
perl-Data-Dumper.x86_64 2.145-3.el7 base
perl-Data-Dumper-Concise.noarch 2.020-6.el7 epel
perl-Data-Dumper-Names.noarch 0.03-17.el7 epel
perl-XML-Dumper.noarch 0.81-17.el7 base
搜索完成后出現以上四個安裝包,無法確定需要哪個安裝包的時候,可以嘗試每個安裝包都試下。
[root@localhost mysql]# yum install -y perl-Data-Dumper.x86_64
執行:
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
[root@localhost mysql]# echo $?
0
[root@xavi mysql]# ls support-files/my-default.cnf
support-files/my-default.cnf
[root@xavi mysql]# cp support-files/my-default.cnf /etc/my.cnf
絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱為一個socket。
建立網絡通信連接至少要一對端口號(socket)。socket本質是編程接口(API),對TCP/IP的封裝,TCP/IP也要提供可供程序員做網絡開發所用的接口,這就是Socket編程接口;HTTP是轎車,提供了封裝或者顯示數據的具體形式;Socket是發動機,提供了網絡通信的能力。
Socket的英文原義是“孔”或“插座”。作為BSD UNIX的進程通信機制,取后一種意思。通常也稱作"套接字",用于描述IP地址和端口,是一個通信鏈的句柄,可以用來實現不同虛擬機或不同計算機之間的通信。在Internet上的主機一般運行了多個服務軟件,同時提供幾種服務。每種服務都打開一個Socket,并綁定到一個端口上,不同的端口對應于不同的服務。Socket正如其英文原義那樣,像一個多孔插座。一臺主機猶如布滿各種插座的房間,每個插座有一個編號,有的插座提供220伏交流電, 有的提供110伏交流電,有的則提供有線電視節目。 客戶軟件將插頭插到不同編號的插座,就可以得到不同的服務。vim編輯my.cnf,修改datadir,socket路徑
# *** upgrade to a newer version of MySQL.
[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
symbolic-links=0
# Remove leading # and set to the amount of RAM for the most important data
[root@xavi mysql]# ls /etc/my.cnf
/etc/my.cnf
[root@xavi mysql]# rpm -qf /etc/my.cnf
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost mysql]# ls support-files/
binary-configure magic my-default.cnf mysqld_multi.server mysql-log-rotate mysql.server
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld
[root@localhost mysql]# ls -l /etc/init.d/mysqld
-rwxr-xr-x 1 root root 10594 2月 28 11:41 /etc/init.d/mysqld
增加以下兩句:
basedir=/usr/local/mysql//MySQL包所在路徑
datadir=/data/mysql //定義數據存放的地方
定義路徑是不要留空格會報錯。
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost 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@localhost mysql]# chkconfig --add mysqld //把mysqld服務加入到系統服務列表中
[root@localhost mysql]# chkconfig mysqld on //開機啟動mysqld
[root@localhost mysql]# service mysqld start //啟動mysqld
Starting MySQL.Logging to '/data/mysql/zlinux.err'.
. SUCCESS!
如果啟動不了,請到 /data/mysql/ 下查看錯誤日志,這個日志通常是主機名.err.。
檢查mysql是否啟動的命令為:
[root@localhost mysql]# ps aux |grep mysql
root 5505 0.0 0.0 11776 1568 pts/0 S 11:46 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid
mysql 5612 0.1 24.8 1302876 464396 pts/0 Sl 11:46 0:04 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid
root 6527 0.0 0.0 112676 976 pts/0 S+ 12:47 0:00 grep --color=auto mysql
[root@localhost mysql]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1744/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1069/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1067/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1580/master
tcp6 0 0 :::3306 :::* LISTEN 5612/mysqld
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 1069/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1067/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 1580
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
[root@localhost mysql]# service mysqld stop
Shutting down MySQL.. SUCCESS!
[root@localhost mysql]# !ps
ps aux |grep mysql
root 6653 0.0 0.0 112676 972 pts/0 S+ 12:55 0:00 grep --color=auto mysql
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
[1] 6683
[root@localhost mysql]# 180228 12:58:11 mysqld_safe Logging to '/data/mysql/localhost.localdomain.err'.
180228 12:58:11 mysqld_safe Starting mysqld daemon with databases from /data/mysql
^C
ps查看是否啟動
[root@localhost mysql]# !ps
ps aux |grep mysql
root 6683 0.0 0.0 113264 1596 pts/0 S 12:58 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
mysql 6778 1.0 24.4 1302876 455756 pts/0 Sl 12:58 0:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid
root 6809 0.0 0.0 112676 976 pts/0 S+ 12:58 0:00 grep --color=auto mysql
查看端口
[root@localhost mysql]# !net
netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1744/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1069/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1067/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1580/master
tcp6 0 0 :::3306 :::* LISTEN 6778/mysqld
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 1069/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1067/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 1580/master
必須以killall命令殺掉進程,比較安全。
killall 命令會先把程序執行完畢,才殺掉進程。
如果killall等了很久都沒有殺死,說明數據量很大,需要寫到磁盤中完畢后,慢慢殺死;
如果強制殺死kill+PID,可能導致數據丟失或表的損壞。
service mysqld start
service mysqld stop
[root@localhost mysql]# killall mysqld
[root@localhost mysql]# 180228 13:05:00 mysqld_safe mysqld from pid file /data/mysql/localhost.localdomain.pid ended
^C
[1]+ 完成 /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
[root@localhost mysql]# !ps
ps aux |grep mysql
root 6941 0.0 0.0 112676 976 pts/0 S+ 13:06 0:00 grep --color=auto mysql
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。