原始碼編譯安裝 mysql 5.5.13 實踐
1.安裝cmake
mysql從5.5版本開始,通過./configure進行編譯配置方式已經被取消,取而代之的是cmake工具。
因此,我們首先要在系統中原始碼編譯安裝cmake工具。
# wget
# tar zxvf cmake-2.8.7.tar.gz
# cd cmake-2.8.7
# ./configure
# make
# make install
2.確保以下所需系統軟體包已經被安裝
通過 rpm -qa | grep name 的方式驗證以下軟體包是否已全部安裝。
gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool*
3. 安裝前的系統設定
建立mysql安裝目錄及資料存放目錄
# mkdir /opt/mysql
# mkdir /opt/mysql/data
建立使用者和使用者組
# groupaddmysql
# useradd -g mysqlmysql
賦予資料存放目錄許可權
# chown mysql:mysql –r /opt/mysql/data
4.從configure更換為cmake
我相信大多數人都已經習慣了之前的configure方式,並且所使用的引數也是比較個性化的,換成cmake之後,這一方面會帶來不少的麻煩。
還好,mysql的官方**提供了二者的引數對照表,我們可以盡可能的保留之前的引數,來編譯配置新的mysql版本。
configure 與cmake引數對照指南:
以我自己為例,之前我一直使用的引數為:
./configure --prefix=/opt/mysql/ \
--sysconfdir=/opt/mysql/etc \
--localstatedir=/opt/mysql/data \
--with-tcp-port=3306 \
--with-unix-socket-path=/tmp/mysqld.sock \
--with-mysqld-user=mysql \
--enable-assembler \
--with-extra-charsets=all \
--enable-thread-safe-client \
--with-big-tables \
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase,myisammrg
經過與cmake的引數對照之後,去除掉已經被取消的引數(大多數是因為新版本已經預設啟用),cmake的引數配置如下:
cmake -dcmake_install_prefix=/opt/mysql \
-dsysconfdir=/opt/mysql/etc \
-dmysql_datadir=/opt/mysql/data \
-dmysql_tcp_port=3306 \
-dmysql_unix_addr=/tmp/mysqld.sock \
-dmysql_user=mysql \
-dextra_charsets=all \
-dwith_readline=1 \
-dwith_ssl=system \
-dwith_embedded_server=1 \
-denabled_local_infile=1 \
-dwith_innobase_storage_engine=1 \
-dwithout_partition_storage_engine=1
5.編譯安裝 mysql 5.5.13
# wget
# tar zxvf mysql-5.5.13.tar.gz
# cd mysql-5.5.13
# cmake -dcmake_install_prefix=/opt/mysql \
-dsysconfdir=/opt/mysql/etc \
-dmysql_datadir=/opt/mysql/data \
-dmysql_tcp_port=3306 \
-dmysql_unix_addr=/tmp/mysqld.sock \
-dmysql_user=mysql \
-dextra_charsets=all \
-dwith_readline=1 \
-dwith_ssl=system \
-dwith_embedded_server=1 \
-denabled_local_infile=1 \
-dwith_innobase_storage_engine=1 \
-dwithout_partition_storage_engine=1
# make
# make install
在make與make install的時候可以看到進度百分比,感覺這一點要比configure方式要好。
6.配置並初始化資料庫
建立my.cnf配置檔案
# mkdir /opt/mysql/log
# mkdir /opt/mysql/etc
# cp support-files/my-medium.cnf /opt/mysql/etc/my.cnf
初始化資料庫
執行前需賦給scripts/mysql_install_db檔案執行許可權
# chmod 755 scripts/mysql_install_db
# scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/
建立管理mysql資料庫的shell指令碼
# mkdir /opt/mysql/init.d
# cp support-files/mysql.server /opt/mysql/init.d/mysql
賦予shell指令碼可執行許可權:
# chmod +x /opt/mysql/init.d/mysql
啟動mysql:
# /opt/mysql/init.d/mysql start
通過命令列登入管理mysql伺服器(提示輸入密碼時直接回車):
# /opt/mysql/bin/mysql -u root -p -s /tmp/mysql.sock
輸入以下sql語句,建立乙個具有root許可權的使用者(admin)和密碼(12345678):
grant all privileges on *.* to 'admin'@'localhost' identified by '12345678';
grant all privileges on *.* to 'admin'@'127.0.0.1' identified by '12345678';
為root帳戶設定初始密碼
# /opt/mysql/bin/mysqladmin -u root password 'new-password'
刪除本機匿名連線的空密碼帳號
/opt/mysql/bin/mysql -uroot -p'new-password'
mysql>use mysql; //選擇系統資料庫mysql
mysql>select host,user,password from user; //檢視所有使用者
mysql>delete from user where password="";
mysql>flush privileges;
mysql>select host,user,password from user; //確認密碼為空的使用者是否已全部刪除
mysql>exit;
Linux 原始碼安裝Mysql5 5
公司的伺服器是centos 5.4 final 版的,今天在上面安裝了一回mysql5.5,記錄如下 2 tar zxvf mysql 5.5.2 m2.tar.gz 解壓到 usr local src mysql 5.5.2 m2下 cd mysql 5.5.2 m2 configure pref...
mysql5 5 原始碼分析( )
做個備份,好記性不如爛筆頭。sloccount算了一下,整個工程的 是百萬行級的,c 和ascic為主。從規模來看,絲毫不遜色於wps文字。時隔一年半,再把c 撿起來。cpp 631203 49.60 ansic 543818 42.74 507268 storage cpp 352539,ansi...
MYSQL5 5原始碼安裝 linux下
首先安裝必要的庫 yum y install gcc 安裝 mysql 首先安裝camke 一 支援yum,則 yum install y cmake 二 也可以原始碼安裝 root localhost cd usr local src root localhost src wget root lo...