MySQL编译安装及启动

前言:源码预编译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!

 

posted @ 2019-07-13 20:58  Quail  阅读(3941)  评论(0编辑  收藏  举报