1. 程式人生 > 其它 >linux 下編譯安裝MySQL

linux 下編譯安裝MySQL

一:解除安裝舊版本

使用下面的命令檢查是否安裝有MySQL Server

rpm -qa | grep mysql

有的話通過下面的命令來解除安裝掉

rpm -e mysql //普通刪除模式

rpm -e --nodeps mysql // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它檔案,則用該命令可以對其進行強力刪除

二:安裝MySQL

安裝編譯程式碼需要的包

yum -y install make gcc-c++ cmake bison-devel ncurses-devel

下載MySQL 5.6.14

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz

tar xvf mysql-5.6.14.tar.gz

cd mysql-5.6.14

編譯安裝

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

make && make install

編譯的引數可以參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

整個過程需要30分鐘左右……漫長的等待

三:配置

MySQL

設定許可權

使用下面的命令檢視是否有mysql使用者及使用者組

cat /etc/passwd 檢視使用者列表

cat /etc/group 檢視使用者組列表

如果沒有就建立

groupadd mysql

useradd -g mysql mysql

修改/usr/local/mysql許可權

chown -R mysql:mysql /usr/local/mysql

修改/usr/local/mysql許可權

初始化配置

進入安裝路徑

cd /usr/local/mysql

進入安裝路徑,執行初始化配置指令碼,建立系統自帶的資料庫和表

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注:在啟動MySQL服務時,會按照一定次序搜尋my.cnf,先在/etc目錄下找,找不到則會搜尋"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置檔案的預設位置!注意:在CentOS 6.4版作業系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,需要將此檔案更名為其他的名字,如:/etc/my.cnf.bak,否則,該檔案會干擾原始碼安裝的MySQL的正確配置,造成無法啟動。

啟動MySQL

新增服務,拷貝服務指令碼到init.d目錄,並設定開機啟動

cp support-files/mysql.server /etc/init.d/mysql

chkconfig mysql on

service mysql start --啟動MySQL

vim /etc/profile //環境變數路徑

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile //立即生效

windows連結linux mysql資料庫

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

修改原來的myqlroot的密碼;

方法一:

mysql系統外,使用mysqladmin

# mysqladmin -u root -p password "test123"

Enter password: 【輸入原來的密碼】

方法二:

通過登入mysql系統,

# mysql -uroot -p

Enter password: 【輸入原來的密碼】

mysql>use mysql;

mysql> update user set password=password("root") where user='root';

mysql> flush privileges;

mysql> exit;

1、檢查是否安裝了mysql

[root@localhost Desktop]# rpm -qa|grep mysql

如果安裝了就解除安裝

強制刪除

rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps

普通模式刪除

rpm -e mysql

建立使用者組並且新增一個使用者

groupadd mysql

建立一個使用者,不允許登陸和不創主目錄

useradd -s /sbin/nologin -g mysql -M mysql

檢查建立使用者

tail -1 /etc/passwd

注:MySQL5.5版本開始,通過./configure進行編譯配置方式已經被取消,取而代之的是cmake工具。

因此,我們首先要在系統中原始碼編譯安裝cmake工具。

2.安裝編譯程式碼需要的包

yum -y install make gcc-c++ cmake bison-devel ncurses-devel

下載安裝包

wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz

tar -zxvf mysql-5.6.37.tar.gz

cd mysql

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_USER=mysql \

-DWITH_DEBUG=0 \

-DWITH_SSL=system

make && make install

編譯的引數可以參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

安裝時間比較長,這時候可以去喝杯咖啡了

3.修改/usr/local/mysql許可權

chmod +w /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql

[root@localhost mysql]# cp support-files/my-default.cnf

執行初始化配置指令碼,建立系統自帶的資料庫和表,注意配置檔案的路徑:

/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

拷貝mysql安裝目錄下support-files服務指令碼到init.d目錄

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

賦予許可權:

chmod +x /etc/init.d/mysqld

設定開機啟動/可以不操作

chkconfig mysqld on

啟動mysql

service mysqld start

或者

/etc/init.d/mysql start

MySQL5.6.x啟動成功後,root預設沒有密碼,我們需要設定root密碼。 設定之前,我們需要先設定PATH,要不,不能直接呼叫mysql,操作如下:

修改/etc/profile檔案

root@localhost mysql]# vim /etc/profile

在檔案末尾新增

PATH=/usr/local/mysql/bin:$PATH

export PATH

讓配置立即生效

[root@localhost mysql]# source /etc/profile

8.登陸測試,預設是沒有密碼,直接回車就可進入

9.設定mysql密碼(這一步可以先不設定),命令如下:

/usr/local/mysql/bin/mysqladmin -uroot -p password '你的密碼'

10.驗證mysql安裝路徑

ls -ld /usr/local/mysql/

到這裡MySQL編譯安裝就完成了