源码编译mysql 5.5.40

it2022-05-05  121

[root@localhost cmake-3.1.0]# yum install zlib-devel openssl-devel gcc-c++ gcc bison cmake ncurses-devel -y

[root@localhost ~]# groupadd -r mysql[root@localhost ~]# useradd -g mysql -r -s /sbin/nologin mysql[root@localhost ~]# id mysql #确认用户[root@localhost ~]# mkdir /var/data/mysql -p #存放数据库文件[root@localhost ~]# chown mysql:mysql /var/data –R

[root@localhost MailServer]# tar zxvf mysql-5.5.40.tar.gz -C ../ [root@localhost MailServer]# cd ../mysql-5.5.40/

cmake编译MySQL的一些常用选项:

------------------------------------------------------------cmake mysql 编译安装:./configure -> cmake ../configure --help -> cmake -LH -> ccmake .------------------------------------------------------------指定安装文件的安装路径常用选项-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/data/mysql-DSYSCONFDIR=/etc------------------------------------------------------------默认编译的存储引擎包括: csv, myisma, myisammrg, heap. 若要安装其他存储引擎,可以使用类似如下的编译选项-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1------------------------------------------------------------若要明确指出不编译某存储引擎, 可以使用类似如下的选项:-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1例如:-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1-DWITHOUT_FEDERATED_STORAGE_ENGINE=1------------------------------------------------------------若要编译进其他功能, 如SSl等, 可使用类似如下选项来实现编译时使用某库文件或者, 或者不使用某库文件.-DWITH_READLINE=1-DWITH_SSL=system-DWITH_ZLIB=system-DWITH_LIBWRAP=0------------------------------------------------------------其他常用选项:-DMYSQL_TCP_PORT=3306-MYDQL_UNIX_ADDR=/tmp/mysql.sock-DENABLED_LOCAL_INFILE=1-DEXTRA_CHARSETS=all-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_DEBUG=0-DENABLE_PROFILING=1------------------------------------------------------------

开始编译

[root@localhost mysql-5.5.40]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.40 \ -DMYSQL_DATADIR=/var/data/mysql \ #数据库目录 -DSYSCONFDIR=/etc \ #配置文件目录 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #启用InnoDB存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #启用ARCHIVE存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #启用黑洞存储引擎 -DWITH_READLINE=1 \ -DWITH_SSL=system \ #启用SSL协议 -DWITH_ZLIB=system \ #启用Zlib压缩 -DWITH_LIBWRAP=0 \ -DDEFAULT_CHARSET=utf8 \ #设置字符集utf8 -DMYSQL_NUIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_COLLATION=utf8_general_ci

make

make install

如出现错误,原因是未安装数据库

141223 21:05:40 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete 141223 21:05:40 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended 141223 21:05:45 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data ^G/usr/local/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13) 141223 21:05:46 [ERROR] Aborting

编译完成后,安装数据库

# cd /usr/local/mysql # chown -R mysql . # chgrp -R mysql . # scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # chown -R root . # chown -R mysql ./data

错误日志显示:Can't open the mysql.plugin table...2009-06-01 00:52Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

解决方法:重新执行数据库安装过程,并带上

--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

将mysql的配置文件拷贝到/etc

cp support-files/my-medium.cnf /etc/my.cnf

拷贝服务,设置开机启动,启动MySQL

#cp support-files/mysql.server /etc/init.d/mysql #chkconfig mysql on #service mysql start --启动MySQL

查看MySQL启动状态

# service mysqld status MySQL running (62374) [ OK ]

转载于:https://www.cnblogs.com/xfan1982/p/4182206.html


最新回复(0)