前言:源码预编译MySQL数据库,使用时cmake 方式,MySQL数据库官方出的数据库编译命令,和普通源码安装软件不同 (configure)。 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。cmake所做的事其实就 是告诉编译器如何去编译链接源代码。在Windows平台通用。
安装过程:
一、安装cmake命令
[root@localhost ~]# yum -y install cmake
二、下载mysql-5.5.20.tar.gz,并解压
[root@localhost quail]# tar zxf mysql-5.5.20.tar.gz #源码包通过rz上传
三、进行预编译
[root@localhost mysql-5.5.20 ]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc
-DMYSQL_USER=mysql
-DMYSQL_TCP_PORT=3306 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
-DWITH_EXTRA_CHARSETS=1 -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all
-DWITH_BIG_TABLES=1
-DWITH_DEBUG=0
PS:第一次预编译可能会报错
CMake Error at cmake/readline.cmake:83 (MESSAGE): Curses library not found. Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
解决方法:提示缺少MySQL一个终端支持依赖包。mysql的终端不同Linux命令终端,这个依赖主要是对于mysql命令界面的支持。
[root@localhost ~ ]# yum install ncurses-devel -y
安装完成后重新进行预编译 cmake ……。
四、预编译完成后,进行编译和安装
[root@localhost mysql-5.5.20 ]# make -j4 && make install
这是一段漫长的等待……大佬们稳住……
五、进行mysql配置的拷贝
[root@localhost ~]# cd /usr/local/mysql55 ##进入MySQL的主配置目录 [root@localhost mysql55]# cp -f support-files/my-large.cnf /etc/my.cnf ##cp mysql主配置文件,mysql 程序默认读取的配置 [root@localhost mysqql55]# cp -f support-files/mysql.server /etc/init.d/mysqld ##cp mysql的启动脚本到/etc/init.d/ "" 参数强制复制
六、系统服务的创建
[root@localhost mysql55]# chkconfig --add mysqld ##mysqld 程序加入service 管理程序,加入系统服务 [root@localhost mysql55]# chkconfig --level 35 mysqld ##执行mysqld 的开机自启
七、创建数据目录
[root@localhost mysql55]# mkdir -p /data/mysql
八、创建mysql用户
[root@localhost mysql55]# useradd mysql
九、进行数据初始化,创建默认mysql的数据库的数据(用户 表、测试表、系统表)
[root@localhaost mysql55]# /usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ -basedir=/usr/local/mysql55/
十、链接MySQL启动文件
[root@localhaost mysql55]# ln -s /usr/local/mysql55/bin/* /usr/bin/
十一、启动MySQL
[root@localhost ~]# service mysqld start
Starting MySQL.. SUCCESS!