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使用者及使用者組
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;
修改原來的myql的root的密碼;
方法一:
在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
注:MySQL從5.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編譯安裝就完成了