16.一、lnmp介紹:php
lnmp架構,linux的php的程序架構:mysql
linux nginx MySQL PHP; # lamp:linux apache mysql php;linux
16.二、mysql介紹:nginx
mysql是互聯網領域極爲重要的一款開源關係型數據庫軟件,由MySQL AB公司開發與維護,後被sun公司收web
購,sun公司後又被oracle公司收購,現mysql屬於oracle公司;sql
目前絕大多數使用linux操做系統的互聯網企業都在使用mysql做爲後端的數據庫,從大型的bat門戶,到電商數據庫
門戶平臺,分類門戶平臺無一例外;apache
16.三、mysql的優勢:後端
軟件體積小;api
社區活躍,開放源代碼;
軟件體積小,安裝使用簡單,而且易於維護,安裝維護的成本低;
支持多種操做系統,提供多種api接口,支持多種開發語言,特別對流行的php語言無縫支持;
16.四、安裝mysql:
一、下載mysql:
二、爲mysql建立虛擬用戶:
[root@web01 tools]# useradd -Ms /sbin/nologin mysql
三、解壓文件並移動:
[root@web01 tools]# tar -xzvf mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz
[root@web01 tools]# mv -v mysql-5.5.62-linux-glibc2.12-x86_64 /application/mysql-5.5.62
[root@web01 application]# ln -s mysql-5.5.62/ mysql
四、受權mysql用戶管理:
[root@web01 application]# chown -R mysql.mysql mysql/
五、初始化mysql:
[root@web01 mysql]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
#basedir:安裝的根;datadir:數據目錄;
[root@web01 data]# ls
mysql performance_schema test
六、拷貝啓動文件到/init.d/目錄下:
[root@web01 mysql]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@web01 mysql]# chmod +x /etc/init.d/mysqld
七、複製默認的配置文件:
[root@web01 mysql]# cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
八、替換安裝路徑:
[root@web01 mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
/etc/my.cnf中的socket路徑也須要改,是/tmp/mysql.sock,因此能夠不動;
九、把mysql加入開機自啓動
[root@web01 mysql]# chkconfig --add mysqld
[root@web01 mysql]# chkconfig --list mysqld
mysqld 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
十、啓動mysql:
[root@web01 mysql]# /etc/init.d/mysqld start
[root@web01 data]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 1661 mysql 10u IPv4 11135 0t0 TCP *:mysql (LISTEN)
十一、注:加入開機自啓動的第二種方法:
mysql手動啓動(此時上面的將/application/mysql/support-files/mysql.server 拷貝到/etc/init.d/mysqld,改變mysqld路徑的步驟能夠去除):
[root@web01 mysql]# /application/mysql/bin/mysqld_safe & #&表明後臺運行;
加入/etc/rc.local開機自啓動文件;
echo '/application/mysql/bin/mysqld_safe' >>/etc/rc.local
十二、配置mysql的全局環境變量:
[root@web01 /] echo export PATH=/application/mysql/bin/:$PATH >>/etc/profile
#能夠 copy /application/mysql/bin/* /usr/local/bin/目錄下 作root用戶的變量;
[root@web01 ~]# source /etc/profile
[root@web01 /]# echo $PATH
/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@web01 /]# mysql
mysql>
1三、爲mysql設置密碼:
mysql默認安裝的狀況下是沒有密碼的;
[root@web01 data]# mysqladmin -u root password "123456"
[root@web01 data]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@web01 data]# mysql -uroot -p123456
mysql>
1四、修改密碼:
[root@web01 data]# mysqladmin -uroot -p123456 password "lc"
[root@web01 data]# mysql -uroot -plc
mysql>
1五、清空history歷史記錄:
[root@web01 data]# history -c
[root@web01 data]# >/root/.bash_history
1六、mysql初始化數據庫報錯問題和解決辦法:
ERROR 1045 (28000):Access denied for user root@localhost (using password:no)# mysql數據庫損壞,刪除並從新初始化數據庫;
WARNING:the host mysql could not be looked up with resloveip# 檢查主機名對應主機ip解析是否正確 uname -n;
ERROR:1004 Can't create file /tmp/#sql300e_1_0.frm(errno:13) #mysql /tmp 數據目錄權限有問題chmod 1777 /tmp/;