cmake . -DDOWNLOAD_BOOST=1
生成Makefile,最后执行
make && make install
完成安装。
编译安装详细步骤
一、前言
CMake是一个跨平台的自动化构建系统,能够管理复杂的软件构建过程,本文将详细介绍如何使用CMake在系统上编译并安装MySQL数据库。
二、所需工具和环境
操作系统 :Linux(以CentOS为例)
编译器 :gcc, g++
依赖工具 :cmake, ncurses-devel, openssl, openssl-devel, zlib, zlib-devel, bison, bison-devel, boost
三、安装步骤
1. 安装cmake
需要安装cmake工具,如果系统中未安装,可以使用以下命令进行安装:
sudo yum install -y cmake
2. 安装依赖包
安装MySQL编译所需的依赖包:
sudo yum install -y gcc gcc-c++ pcre pcre-devel openssl openssl-devel zlib zlib-devel \ncurses ncurses-devel bison bison-devel boost-devel
3. 下载MySQL源码
从MySQL官方网站下载MySQL的源代码包,下载MySQL 5.7.35版本:
wget4. 解压源码包
下载完成后,解压源码包:
tar -zxvf mysql-5.7.35.tar.gzcd mysql-5.7.355. 创建专用用户和组
为了安全起见,为MySQL创建一个专用的用户和组:
groupadd mysqluseradd -r -g mysql -s /bin/false mysql6. 配置CMake
使用CMake进行配置,指定安装路径和其他选项:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/data/mydata \-DSYSCONFDIR=/etc \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_BOOST=/usr/local/boost \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DWITH_SSL=system \-DWITH_ZLIB=system \-DENABLED_LOCAL_INFILE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0注意:以上命令中的选项可以根据实际需求进行调整。
7. 编译并安装MySQL
执行以下命令进行编译和安装:
make && make install编译过程可能需要一些时间,具体取决于系统性能。
8. 设置权限和环境变量
修改MySQL安装目录的拥有者为mysql用户:
chown -R mysql:mysql /usr/local/mysql配置环境变量,以便系统可以找到MySQL的可执行文件:
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /home/mysql/.bash_profilesource /home/mysql/.bash_profile9. 初始化MySQL数据库
使用以下命令进行数据库初始化:
cd /usr/local/mysqlbin/mysqld --initialize --user=mysql记录生成的临时密码,稍后将使用该密码进行登录。
10. 启动MySQL服务
创建MySQL服务脚本,并将其添加到系统服务中:
cp support-files/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig --level 345 mysqld on启动MySQL服务:
service mysqld start11. 设置Root用户密码
首次登录MySQL时,需要设置root用户的密码:
/usr/local/mysql/bin/mysql -u root -pALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';12. 配置MySQL配置文件
编辑
/etc/my.cnf
文件,根据需要进行配置,如绑定地址、端口等。四、常见问题及解答
Q1: 编译过程中出现错误怎么办?
A1: 如果编译过程中出现错误,可以查看错误信息,并根据提示进行相应的调整,常见的错误可能包括缺少库文件、语法错误等,确保所有依赖项都已正确安装,并且源码包完整无误。
Q2: 如何更改MySQL的安装路径?
A2: 在执行CMake命令时,可以通过
-DCMAKE_INSTALL_PREFIX
选项指定安装路径。cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql这将把MySQL安装到
/usr/local/mysql
目录下。Q3: 如何修改MySQL的默认字符集?
A3: 在CMake命令中,可以通过
-DDEFAULT_CHARSET
选项指定默认字符集。cmake . -DDEFAULT_CHARSET=utf8这将设置MySQL的默认字符集为UTF-8。
通过上述步骤,您可以成功地使用CMake在Linux系统上编译并安装MySQL数据库,整个过程涉及多个环节,包括安装依赖项、下载源码、配置CMake、编译安装、初始化数据库以及启动服务等,希望本文能为您提供详细的指导,帮助您顺利完成MySQL的编译安装。
以上就是关于“cmake编译mysql安装”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
如何解决MySQLAdministrator 启动报错
解决办法如下:C:/mysql-5.1.41-win32/bin>mysqld --install MySQL --defaults-file=c:/ successfully installed.C:/mysql-5.1.41-win32/bin>NET start MySQLMySQL 服务正在启动 服务已经启动成功。 C:/mysql-5.1.41-win32/bin>1、通过执行mysqld --install命令可以安装MySQL服务,同时指定配置文件的位置2、通过执行net start 命令,启动MySQL服务这时你再运行MySQLAdministrator时,就不会再报错了。 参考资料mysqld --verbose --Help 查看帮助删除MySQL服务C:/mysql-5.1.41-win32/bin>mysqld --remove MySQL停止MySQL服务net stop MySQL参考:
问如何安装MYSQL数据库?将A空间的程序搬到B空间,数据库如何安装?具体一点!因为本人是外行!!
单纯说安装mysql数据库软件的话有windows平台和linux平台下的安装,windows平台的优势就是安装软件很简单,基本就是下一步,linux下一般是编译安装,这个相对要复杂些,如果有写好的sheel脚本安装就简单一些。 将A空间的程序搬到B空间,一般来说数据库和web空间不安装在同一个服务器上,这种情况A空间的程序搬到B空间对连接数据库没有影响,数据库配置不变。 如果数据库和web空间都安装在同服务器上,想移到另一台服务器上,那么你要先导出数据库中的数据,然后移动网站程序到新空间,接着倒入数据到新数据库,再配置网站程序与数据库的连接。 理论是这样的,具体情况按实际操作去执行。
linux 如何编译安装mysql?
展开全部不同linux版本,安装不同版本的mysql方法各不相同,下面以CentOS 6.5编译安装MySQL 5.6.16介绍:一.准备工作安装各个依赖包[root@WebServer ~]# yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel unzip 2.新建mysql组和用户[root@WebServer ~]# groupadd mysql[root@WebServer ~]# useradd -g mysql -s /sbin/nologin mysql 3.目录准备[root@WebServer ~]# mkdir -p /webserver/mysql/etc[root@WebServer ~]# mkdir -p /webserver/mysql/data[root@WebServer ~]# mkdir -p /webserver/mysql/tmp[root@WebServer ~]# chown -R /webserver/mysql 4.解压MySQL并进入安装目录[root@WebServer ~]# tar zxvf [root@WebServer ~]# cd mysql-5.6.16 二.编译并安装1.编译MySQL[root@WebServer mysql-5.6.16]# cmake -DCMAKE_INSTALL_PREFIX=/webserver/mysql \> -DSYSCONFDIR=/webserver/mysql/etc \> -DMYSQL_DATADIR=/webserver/mysql/data \> -DMYSQL_TCP_PORT=3306 \> -DMYSQL_UNIX_ADDR=/webserver/mysql/tmp/ \> -DMYSQL_USER=mysql \> -DEXTRA_CHARSETS=all \> -DWITH_READLINE=1 \> -DWITH_SSL=system \> -DWITH_EMBEDDED_SERVER=1 \> -DENABLED_LOCAL_INFILE=1 \> -DWITH_INNOBASE_STORAGE_ENGINE=1 \> -DENABLE_DOWNLOADS=1 2.如果出现以下错误则需要[root@WebServer mysql-5.6.16]# cd source_downloads/[root@WebServer source_downloads]# unzip [root@WebServer source_downloads]# ./configure[root@WebServer source_downloads]# make[root@WebServer source_downloads]# cd .. 然后删除mysql-5.6.16目录下的重新使用cmake进行编译安装2.安装[root@WebServer mysql-5.6.16]# make && make install 编译过程会比较漫长,编译时间取决于机器的性能三配置1.客户端库文件的链接(未执行此步骤的话,在PHP编译时会提示找不到MySQL文件)[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/lib/.18 /usr/lib64/.18 ps:我使用的是64位CentOS,如果使用的是32位请使用ln -s /webserver/mysql/lib/.18 /usr/lib/.18 启动文件的配置[root@WebServer mysql-5.6.16]# cp support-files/ /etc/init.d/mysqld[root@WebServer mysql-5.6.16]# chmod +x /etc/init.d/mysqld[root@WebServer mysql-5.6.16]# vim /etc/init.d/mysqldbasedir=/webserver/mysqldatadir=/webserver/mysql/data//修改以上这2行的路径即可 3.设置MySQL配置文件[root@WebServer mysql-5.6.16]# cp support-files/ /webserver/mysql/etc/[root@WebServer mysql-5.6.16]# rm -rf /etc/[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/etc/ /etc/ 4.初始化数据库[root@WebServer mysql-5.6.16]# cd /webserver/mysql[root@WebServer mysql]# ./Scripts/mysql_install_db --user=mysql --basedir=/webserver/mysql --datadir=/webserver/mysql/data 5.链接MySQL命令(这一步可以让我们方便很多,可以不用写出命令的路径,也可以写入/etc/profile的PATH中)[root@WebServer ~]# cd /usr/sbin[root@WebServer sbin]# ln -s /webserver/mysql/bin/* . 6.启动MySQL并设置为开机启动[root@WebServer sbin]# service mysqld start ;chkconfig mysqld onStarting MySQL.. SUCCESS! 7.设置MySQL root用户的密码[root@WebServer ~]# mysqladmin -u root password 这里将MySQL的root密码设置为,强烈不建议将数据库的密码设的简单8.删除用户密码为空的用户[root@WebServer ~]# mysql -u root -pEnter password:mysql> use mysql;mysql> select Host,User,Password from user;+-----------+------+-------------------------------------------+| Host| User | Password|+-----------+------+-------------------------------------------+| localhost | root | *6BB4837EBEE4568DDA7DC67ED2CA2AD9 || webserver | root ||| 127.0.0.1 | root ||| ::1| root ||| localhost |||| webserver |||+-----------+------+-------------------------------------------+6 rows in set (0.00 sec)mysql> delete from user where password=;Query OK, 5 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> select Host,User,Password from user;+-----------+------+-------------------------------------------+| Host| User | Password|+-----------+------+-------------------------------------------+| localhost | root | *6BB4837EBEE4568DDA7DC67ED2CA2AD9 |+-----------+------+-------------------------------------------+1 row in set (0.00 sec)mysql> exit;完毕。
发表评论