ssh源码编译安装mysql_总结源码编译安装mysql
最近在學習源碼編譯安裝LAMP、LNMP時,一直遇到一個難題,就是就是mysql無論怎么源碼編譯安裝,到最后啟動服務都提示"Starting MySQL.The server quit without updating PID file (/data/mysql/localhost.pid). ? ? ? ? ? ? ?[FAILED]",因為是初學linux,不知道在哪查看和怎么查看MySQL錯誤日志,也沒人指點,在網上搜了一大堆解決方法,也沒有解決,這時自己就想了想,再沒有埋頭安裝,就在QQ上找了些linux學習交流群,加上去后咨詢了一下,說是數據存放目錄的權限問題,檢查了一下,確認不是數據存放目錄的權限問題,之后我又咨詢確認了一下,也不是配置文件語法問題,也不是編譯安裝問題和依賴庫文件等問題,最后讓我看了看MySQL的端口3306是否被占用,這時我敲入"netstat -antulp"回車,看到確實有一個進程號為"1331"的進程占用了3306端口,之所以占用,是因為之前我多次安裝啟動造成的,如下所示:
[root@localhost ~]# netstat -antulp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address ? ? ? ? ? ? ? Foreign Address ? ? ? ? ? ? State ? ? ? PID/Program name
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:22 ? ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1174/sshd
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:25 ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1417/master
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:9000 ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1157/php-fpm
tcp ? ? ? ?0 ? ? 52 192.168.1.200:22 ? ? ? ? ? ?192.168.1.209:2375 ? ? ? ? ?ESTABLISHED 1523/sshd
tcp ? ? ? ?0 ? ? ?0 :::22 ? ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1174/sshd
tcp ? ? ? ?0 ? ? ?0 ::1:25 ? ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1417/master
tcp ? ? ? ?0 ? ? ?0 :::3306 ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1331/mysqld
tcp ? ? ? ?0 ? ? ?0 :::80 ? ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?797/httpd
知道了占用3306端口的進程號后好就好了,敲入"kill 1331"回車后,再入查看端口("netstat -antulp")占用,出來的信息里面已經沒有占用3306端口的進程了,如下所示:
[root@localhost ~]# kill 1331
[root@localhost ~]# netstat -antulp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address ? ? ? ? ? ? ? Foreign Address ? ? ? ? ? ? State ? ? ? PID/Program name
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:22 ? ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1174/sshd
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:25 ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1417/master
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:9000 ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1157/php-fpm
tcp ? ? ? ?0 ? ? 52 192.168.1.200:22 ? ? ? ? ? ?192.168.1.209:2375 ? ? ? ? ?ESTABLISHED 1523/sshd
tcp ? ? ? ?0 ? ? ?0 :::22 ? ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1174/sshd
tcp ? ? ? ?0 ? ? ?0 ::1:25 ? ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1417/master
tcp ? ? ? ?0 ? ? ?0 :::80 ? ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?797/httpd
現在接著敲入"service mysqld start"回車后,呵呵,看到了mysql服務啟動成功,如下:
[root@localhost ~]# service mysqld start
Starting MySQL.... SUCCESS!
之后,我又查看了相關資料,有說是編譯安裝的順序問題,及編譯參數問題,就抱著試了試的態度,實踐了一邊,還真是沒有任何錯誤的安裝成功,啟動成功了,方法還是前面的編譯安裝方法,只是順序不一樣了,呵呵,現總結如下:
這里下載MySQL壓縮包,解壓縮,安裝依賴庫文件我就不再描述了,只總結寫下重要的編譯安裝順序;
1、檢查系統配置環境:cmake .回車,中間的內容省略;
2、添加MySQ用戶和用戶組:groupadd mysql回車,useradd -g mysql mysql -s /sbin/nologin -M -r回車;
3、創建mysql安裝目錄以及數據庫存放目錄,并給予數據庫存放目錄權限:
mkdir -p /data/mysql
chown -R mysql.mysql /data/mysql ? ? ??mkdir ? -p /usr/local/mysql
4、編譯及安裝:make&&make install;
5、初始并生成系統mysql數據庫:cd /usr/local/mysql 回車,進入到mysql安裝目錄,然后敲入:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql回車生成mysql系統數據庫;
6、這時mysql安裝目錄下已生成mysql客戶端配置文件:my.cnf,現在敲入cp my.cnf /etc/my.cnf回車,提示是否要覆蓋當前文件,按y就可以了,編輯/etc/my.cnf: vi /etc/my.cnf回車,在[mysqld]部分增加下面一行(注意是增加,不是修改:";datadir = ")
datadir =?/data/mysql
:wq! ?//保存
7、cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld?// 把mysql 加入系統啟動
chmod +x /etc/init.d/mysqld #給予執行權限
chkconfig mysqld on #加入開機啟動
8、vi /etc/rc.d/init.d/mysqld
修改下面兩行定義
basedir=/usr/local/mysql ? ?//MySQL目錄位置
datadir=/data/mysql ? ? ? ? ? //?MySQl數據庫存放目錄大約在46、47行,注意,等號后面不要有空格
9、service mysqld start ,呵呵相信你們的也沒有任何錯誤的啟動成功了吧
10、vi /etc/profile ??把mysql服務加入系統環境變量:在最后邊一行的下面添加下面這一行
export?PATH=$PATH:/usr/local/mysql/bin
:wq! ? ?//?保存
11、下面這兩行把myslq的庫文件鏈接到系統默認的位置,這樣你在編譯類似PHP等軟件時可以不用指定mysql的庫文件地址
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
shutdown -r now
12、需要重啟系統,等待系統重新啟動之后繼續在終端命令行下面操作
mysql_secure_installation ? ? #根據提示按Y 回車,然后輸入2次同樣的密碼,繼續按Y回車,直到設置完成。
或者采用下面的方式直接修改密碼 /usr/local/mysql/bin/mysqladmin -u root -p password "123456" ? ? ? ? ? 13、service mysqld restart
至此,mysql5.5.27安裝完畢 # mysql -V
mysql ?Ver 14.14 Distrib 5.5.27, for Linux (i686) using ?EditLine wrapper
總結的有遺漏或不對的地方還請大家指正,謝謝,希望能給和我一樣初學linux的朋友帶來幫助!
總結
以上是生活随笔為你收集整理的ssh源码编译安装mysql_总结源码编译安装mysql的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解 GNU C 标准中的 typeof
- 下一篇: C89和C99区别