cmake 生成mysql_采用cmake方式编译安装MySQL

这篇博客详细介绍了如何使用cmake编译并安装MySQL的过程,包括卸载已有的MySQL,安装必要的软件包,创建用户,配置编译选项,初始化数据库,注册为服务,设置权限,以及解决启动过程中遇到的问题。
摘要由CSDN通过智能技术生成

cmake方式编译安装MySQL

由于MySQL5.5.xx-5.6.xx产品系列特殊性,所以编译方式也和早期的产品编译方式不同,采用cmake(cmake软件需要另外安装)或gmake方式安装编译.即:

./cmake .

make

make install

操作流程

卸载已安装的MySQL

下载:当前mysql版本到了5.5.29

必要软件包

编译安装添加用户

编译安装

编译参数

改变目录所有者

初始化数据库

注册为服务

启动MySQL服务

改变编码,防止乱码

将mysql的bin加入到path中

配置用户密码和远程访问权限

0. 卸载MySQL

# 查看是否有存在的MySQL运行进程

[root@localhost src]# netstat -tunpl|grep mysqld

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3095/mysqld

# 关闭MySQL服务

[root@localhost src]# service mysqld stop

# 查看命令所在路径

[root@localhost src]# which mysql

/usr/bin/mysql

# 查看rpm安装目录

[root@localhost src]# rpm -qf /usr/bin/mysql

mysql-5.0.95-5.el5_9

# 无依赖删除软件包

[root@localhost src]# rpm -e mysql-5.0.95-5.el5_9 --nodeps

warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave

2. 必要软件包

yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake curl freetype libjpeg-turbo libjpeg-turbo-devel openjpeg-libs libpng gd ncurses

3. 编译安装

3.1 添加用户

useradd mysql -s /sbin/nologin

3.2 编译安装

tar -zxvf mysql-5.5.29.tar.gz && cd mysql-5.5.29 #默认情况下是安装在/usr/local/mysql

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

make && make install

3.3 改变目录所有者

chown -R mysql.mysql /usr/local/mysql

4、注册为服务

cd /usr/local/src/mysql-5.5.29/support-files

#注册服务

cp mysql.server /etc/rc.d/init.d/mysqld

#使用默认配置文件

cp my-small.cnf /etc/my.cnf

#让chkconfig管理mysql服务

chkconfig --add mysqld

# 给mysqld授权执行

chmod a+x /etc/init.d/mysqld #或者使用 setfacl -m u:root:rwx /etc/init.d/mysqld

#开机启动

chkconfig mysqld on

5、初始化数据库

cd /usr/local/mysql/scripts

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

6、启动MySQL服务

service mysqld start

7、将mysql的bin加入到path中

ln -s /usr/local/mysql/bin/mysql /usr/local/sbin/mysql

cd ~

#另外,把path添加到当前用户目录的bashrc中,如果需要全局设定,请修改`/etc/profile` vi .bashrc #加入以下内容

PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

8、修改MySQL数据库的root密码

/usr/local/mysql/bin/mysqladmin -u root password 'aaaaaa'

9、改变编码,防止乱码

SHOW VARIABLES LIKE 'character%'

修改mysql的my.cnf文件增加如下内容

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

pid-file=/var/lib/mysql/mysqld.pid

[mysql]

default-character-set=utf8

[mysqld_safe]

log-error=/var/lib/mysql/mysql_error.err

10、配置用户密码和远程访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY '123456' WITH GRANT OPTION;

安装的时候遇到的问题

[root@localhost.localdomain /etc/init.d]

# service mysqld restart

/etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 没有那个文件或目录

/etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 没有那个文件或目录

/etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 没有那个文件或目录

/etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 没有那个文件或目录

停止 mysqld:                                              [确定]

/etc/init.d/mysqld: line 117: /usr/bin/mysqladmin: 没有那个文件或目录

Cannot check for MySQL Daemon startup because of mysqladmin failure.

启动 mysqld:                                              [失败]

问题已经找到:原因是安装的时候没有卸载用yum安装的MySQL数据库(卸载操作查看0)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值