Cmake編譯安裝Mysql-5.5

Mysql5.5開始,源代碼安裝不在使用configure,而是改爲cmake,所以,安裝mysql是需要先安裝cmake

rpm -ivh cmake-2.6.4-7.el5.i386.rpm

  • 安裝前準備


groupadd mysql
useradd -g mysql mysql
mkdir /usr/local/mysql
chown mysql.mysql /usr/local/mysql/ -R
mkdir -pv /usr/local/mysql/data
yum remove mysql-server mysql mysql-devel -y
yum install gcc gcc-c++ ncurses-devel libtool openssl-devel -y
tar zxf mysql-5.5.29.tar.gz
cd mysql-5.5.29


  • 編譯安裝

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_INNODBBASE_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all   -DDEFAULT_CHARSET=utf8
make
make install


注:

cmake和configure一樣,編譯時可添加需要的參數,其語法對比如下:

configure命令

CMake命令

./configure

cmake .

./configure --prefix=/usr

cmake . -DCMAKE_INSTALL_PREFIX=/usr


在configure中如果編譯

--with-plugins=csv,myisam,myisammrg,heap,innobase,archive,blackhole

在cmake中就需要單個的選項來進行控制

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1

(csv myisam myisammrg heap默認支持,可以用“ON”來替代數字1)


如果你想除去對某種引擎的支持,

在CMake編譯選項中使用-DWITHOUT_<ENGINE>_STORAGE_ENGINE,

例如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1




編譯安裝其實默認安裝了三部分:

1、mysql client 安裝了客戶端

2、mysql server 安裝了服務端

3、mysql devel 安裝了開發文件




  • 完成配置

在源碼目錄下support-files目錄裏有很多配置文件的模版,

直接cp就能使用(當然可根據優化需求進行自己的修改配置)


cp /root/mysql-5.5.29/support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
vim /etc/my.cnf

在[mysqld]裏添加一行:skip-name-resolve = 1 (跳過域名解析,加快啓動速度)


#創建啓動腳本,cp後可以使用/etc/init.d/mysqlsource start啓動

cp /root/mysql-5.5.29/support-files/mysql.server /etc/init.d/mysqlsource
chmod 755 /etc/init.d/mysqlsource

#初始化mysql

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


#錯誤日誌文件位置(不是命令)

/usr/local/mysql/data/localhost.localdomain.err


#創建鏈接到標準路徑下(修改環境變量指定,效果一樣)


ln -s /usr/local/mysql/bin/* /usr/bin/
ln -s /usr/local/mysql/lib/* /usr/lib/
ln -s /usr/local/mysql/libexec/*  /usr/local/libexec
ln -s /usr/local/mysql/share/man/man1/* /usr/share/man/man1
ln -s /usr/local/mysql/share/man/man8/* /usr/share/man/man8

#啓動mysql

/etc/init.d/mysqlsource start


#mysql的一些安全設置

mysql_secure_installation


Enter current password for root (enter fornone): 輸入root密碼,沒有請回車

Set root password? [Y/n] 是否給root設置密碼

Remove anonymous users? [Y/n] 是否移走匿名用戶

Disallow root login remotely? [Y/n] 是否拒絕root遠程登陸

Remove test database and access to it? [Y/n] 是否移走test庫

Reload privilege tables now? [Y/n] 是否立即生效以上設置



附:

cmake配置mysql過程中一些主要的參數說明如下:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

#安裝目錄

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

#數據庫存放目錄

-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \

#Unix socket 文件路徑

-DWITH_MYISAM_STORAGE_ENGINE=1 \

#安裝 myisam 存儲引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

#安裝 innodb 存儲引擎

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

#安裝 archive 存儲引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

#安裝 blackhole 存儲引擎

-DWITH_PARTITION_STORAGE_ENGINE=1 \

#安裝數據庫分區

-DENABLED_LOCAL_INFILE=1 \

#允許從本地導入數據

-DWITH_READLINE=1 \

#快捷鍵功能

-DWITH_SSL=yes \

#支持 SSL

-DDEFAULT_CHARSET=utf8 \

#使用 utf8 字符

-DDEFAULT_COLLATION=utf8_general_ci \

#校驗字符

-DEXTRA_CHARSETS=all \

#安裝所有擴展字符集

-DMYSQL_TCP_PORT=3306 \

#MySQL 監聽端口

-DWIHT_ZLIB

#zlib支持


編譯MySQL的新老參數對照表:

參數值說明

配置選項

CMak選項

TCP/IP端口

--with-tcp-port-=3306

-DMYSQL_TCP_PORT=3306

UNIX socket文件

--with-unix-socket-path=/tmp/mysqld.sock

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock

啓用加載本地數據

--enable-local-infile

-DENABLED_LOCAL_INFILE=1

擴展字符支持

--with-extra-charsets=all(默認:all)

-DEXTRA_CHARSETS=all(默認:all)

默認字符集

--with-charset=utf8

-DDEFAULT_CHARSET=utf8

默認字符校對

--with-collation=utf8_general_ci

-DDEFAULT_COLLATION=utf8_general_ci

Build the server

--with-server

嵌入式服務器

--with-embedded-server

-DWITH_EMBEDDED_SERVER=1

libmysqld權限控制

--with-embedded-privilege-control

安裝文檔

--without-docs

Big tables支持

--with-big-tables, --without-big-tables

mysqld運行用戶

--with-mysqld-user=mysql

-DMYSQL_USER=mysql

調試模式

--without-debug(默認禁用)

-DWITH_DEBUG=0(默認禁用)

GIS支持

--with-geometry

社區功能

--enable-community-features

Profiling

--disable-profiling(默認啓用)

-DENABLE_PROFILING=0(默認啓用)

pstack

--without-pstack

無(新版移除該功能)

彙編字符串函數

--enable-assembler

構建類型

--build=x86_64-pc-linux-gnu

沒有等效參數

交叉編譯主機

--host=x86_64-pc-linux-gnu

沒有等效參數

客戶端標誌

--with-client-ldflags=-lstdc++

線程安全標誌

--enable-thread-safe-client

註釋存儲類型

--with-comment='string'

-DWITH_COMMENT='string'

Shared/static binaries

--enable-shared --enable-static

內存使用控制

--with-low-memory



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