Mysql从5.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 |
无 |