linux(centos 7)源碼安裝mysql數據庫

說明:

    系統:阿里雲的centos 7

    mysql:mysql-5.6.27

一、安裝相關依賴

yum -y install make cmake gcc gcc-c++ bison-devel ncurses-devel autoconf automake lrzsz zip unzip netstat-nat libevent.x86_64 libevent-devel.x86_64
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

二、安裝cmake

    什麼是cmake(百度一下):

        CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。

     1.下載cmake

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

    2.編譯安裝

tar -zxvf cmake-2.8.10.2.tar.gz  ##解壓壓縮包
cd cmake-2.8.10.2 ##打開所在的目錄
./configure ##檢查環境
make ##編譯
make install ##安裝

    3.設置cmake變量

     a>對profile進行編輯    

vim /etc/profile

    b>在文件末尾追加以下兩行代碼(注意路徑不要寫錯):

PATH=/root/software/mysql/cmake-2.8.10.2/bin:$PATH         
export PATHsource /etc/profile

    c>使配置生效

source /etc/profile

    d>查看是否生效

echo $PATH

三、安裝ncurses-devel(可忽略此步驟)

    1、什麼是ncurses-devel

        ncurses是字符終端下屏幕控制的基本庫,你在TTY下登錄到主機上mysql需要的,所以依賴。

    2、下載

wget http://rpmfind.net
    3、編譯安裝

        可參照上面的安裝cmake

四、卸載原有的MySQL

    查看原有的MySQL並刪除它,這點很重要,很重要,很重要

rpm -qa|grep mariadb或rpm -qa|grep mysql  ##查看是否安裝了mysql或maridb
yum remove mysql-libs-5.1.71-1.el6.x86_64 ##刪除

五、創建mysql的安裝目錄和數據存放目錄

mkdir -p /usr/local/mysql ##用於安裝mysql
mkdir -p /usr/local/mysql/data ##用於存放數據庫 

六、創建mysql用戶和用戶組

groupadd mysql                               創建mysql組  
useradd -r -g mysql -s /bin/false mysql      創建mysql用戶 並放入mysql組  注意:這個mysql用戶沒有登錄系統的權限 

    查看

[root@iZ70h3rhkurx3iZ ~]# id mysql
uid=997(mysql) gid=1000(mysql) groups=1000(mysql)

七、編譯安裝mysql

    1、下載mysql

wget http://mirror.neu.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz

    2、解壓

tar -zxvf mysql-5.6.27.tar.gz  ##解壓
cd mysql-5.6.27  ##打開所在目錄

    3、編譯安裝

注意事項:
重新編譯時,需要清除舊的對象文件和緩存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306

    編譯需要時間請耐心等待

make  ##編譯
make install ##安裝

    4、檢查是否成功 文件夾有下列目錄說明安裝成功

ll /usr/local/mysql/  ##掃描一下
total 172
drwxr-xr-x  2 root  root    4096 Apr 17 18:44 bin
-rw-r--r--  1 root  root   17987 Sep 18  2015 COPYING
drwxrwxrwx  3 mysql mysql   4096 Apr 17 18:44 data
drwxr-xr-x  2 root  root    4096 Apr 17 18:44 docs
drwxr-xr-x  3 root  root    4096 Apr 17 18:44 include
-rw-r--r--  1 root  root  105656 Sep 18  2015 INSTALL-BINARY
drwxr-xr-x  3 root  root    4096 Apr 17 18:44 lib
drwxr-xr-x  4 root  root    4096 Apr 17 18:44 man
drwxr-xr-x 10 root  root    4096 Apr 17 18:44 mysql-test
-rw-r--r--  1 root  root    2496 Sep 18  2015 README
drwxr-xr-x  2 root  root    4096 Apr 17 18:44 scripts
drwxr-xr-x 28 root  root    4096 Apr 17 18:44 share
drwxr-xr-x  4 root  root    4096 Apr 17 18:44 sql-bench
drwxr-xr-x  2 root  root    4096 Apr 17 18:44 support-files

八、設置mysql的權限

    打開mysql所安裝的目錄

cd /usr/local/mysql 

    設置

  [root@localhost mysql]# chown -R root:mysql . ## 注意後面的.
  [root@localhost mysql]# chown -R mysql:mysql data 

九、初始化數據庫

 [root@localhost mysql]# scripts/mysql_install_db --user=mysql 

十、設置環境變量

vi /root/.bash_profile
在後面追加:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH   
source/root/.bash_profile  ##使剛纔的設置生效
cp support-files/my-medium.cnf /etc/my.cnf

十一、首次,啓動mysql

    首次啓動是不需要密碼的,提示出入密碼的時候按回車就行

./bin/mysqld_safe --user=mysql & ##啓動  
cp support-files/mysql.server /etc/init.d/mysql  ##將mysql添加到服務

    啓動相關命令

service mysql start        啓動  
service mysql stop         停止  
service mysql restart      重啓  
service mysql reload       重載配置  

    如果啓動失敗是權限的問題

chown -R mysql:mysql /usr/local/mysql  ##設置權限

    再次啓動

/etc/init.d/mysql start

十二、設置用戶名和密碼並打開遠程連接

[root@localhost mysql]# mysql -u root mysql
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";   ##授權,爲root添加遠程連接,非常重要或update user set host=’%’ where host='localhost'#可以只留host爲%和127.0.0.1的兩條數據
mysql> update user set Password=password("123456") where User="root";  ##設置root用戶的密碼
mysql> select Host,User,Password from user where User="root";
mysql> flush privileges;
mysql> exit

這個時候就可以遠程連接了,和重新登錄了

 [root@localhost mysql]# mysql -u root -p 
 或者mysql -h 113.11.198.47 -u pangu -p
 Enter password:123456
 或者用:mysql -u root -p"123456";

十三、關閉防火牆

  [root@localhost]# /etc/rc.d/init.d/iptables stop   
  [root@localhost]# /etc/rc.d/init.d/iptables stop
  或者:
  service iptables restart
  service iptables stop

感謝分享

Linux CentOS7源碼安裝配置mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 

mysql安裝三 linux源碼安裝mysql5.6.22
















   





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章