导读 从MySQL5.5版本开始,MySQL源码安装的编译工具由configure开始向cmake过渡,安装方式和MySQL5.5之前的版本略有不同。源码编译安装最容易出错,也是最耗时间。建议初学者学会一种方式之后,尝试应用多种方式安装。

mysql

一、安装cmake编译环境

1.1 使用yum方式安装gcc gcc-c++

[root@lenovo ~]# yum install gcc-c++ gcc -y

1.2 解压camke源文件
将cmake源文件放入/tmp/文件夹下

[root@lenovo ~]# cd /tmp
[root@lenovo ~]# tar -xf cmake-2.8.8.tar.gz

1.3编译安装cmake

[root@lenovo ~]# cd cmake-2.8.8
[root@lenovo ~]# ./configure
[root@lenovo ~]# make
[root@lenovo ~]# make install

至此cmake编译环境安装成功

二、安装MySQL5.5.32

2.1安装mysql依赖包

[root@lenovo ~]#yum install ncurses-devel -y

2.2创建mysql用户和用户组

[root@lenovo ~]# groupadd mysql
[root@lenovo ~]# useradd -g mysql mysql

2.3创建mysql安装目录

[root@lenovo ~]# mkdir -p /usr/local/mysql/

2.4创建数据存放目录

[root@lenovo ~]# mkdir -p /data/mysql/

2.5赋予数据存放目录权限

[root@lenovo ~]# chown mysql.mysql -R /data/mysql/

2.6解压MySQL源码包
将MySQL5.5.32源文件放入/tmp/文件夹下

[root@lenovo ~]# cd /tmp
[root@lenovo ~]# tar -xf mysql-5.5.32.tar.gz

2.7编译安装mysql5.5.32

[root@lenovo ~]#cd mysql-5.5.32

输入以下命令

[root@lenovo ~]
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
[root@lenovo ~]# make
[root@lenovo ~]# make install

2.8复制配置文件

[root@lenovo ~]# cp support-files/my-medium.cnf /etc/my.cnf

2.9初始化数据库

[root@lenovo ~]# chmod 755 scripts/mysql_install_db
[root@lenovo ~]# scripts/mysql_install_db \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/data/mysql/

注:basedir为mysql安装路径 datadir为数据库文件储存路径
2.10配置环境变量

[root@lenovo ~]# vim /etc/profile

在/etc/profile文件中追加PATH=/usr/local/mysql/bin:$PATH
注意:在“=”的俩边不可以有空格
注意:若采用修改profile文件的方法改变PATH,则必须重新登录才能生效,以下方法可简化工作:
如果修改了/etc/profile,那么编辑结束后执行source profile 或执行点命令:/etc/profile,
PATH的值就会立即生效了。这个方法的原理是再执行一次/etc/profile shell脚本,
注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反映到当前环境中,
但是source是在当前shell进程中执行的,所以我们能看到PATH的改变。

[root@lenovo ~]# source /etc/profile

2.11查看当前环境变量

[root@lenovo ~]# echo $PATH

现在可以发现环境变量中多了/usr/local/mysql/bin:

/usr/local/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

至此mysql编译安装成功

三、启动mysql数据库

3.1启动mysql服务

[root@lenovo ~]# cp support-files/mysql.server /etc/init.d/mysqld
[root@lenovo ~]# chmod 755 /etc/init.d/mysqld
[root@lenovo ~]# /etc/init.d/mysqld start //

服务器端开关
启动完成之后用ps -ef |grep mysql 命令查看是否启动

[root@lenovo ~]# ps -ef |grep mysql

3.2为root用户设置密码

[root@lenovo ~]# mysqladmin -u root password 'yourpassword'

3.3进入mysql

[root@lenovo ~]# mysql -u root -p //

进入数据库

mysql>use mysql
mysql>select user,password,host from user;
mysql>update user set host = '192.168.%' where user = '127.0.0.1';
mysql>grant all privileges on *.* to root@'%' identified by "root";

//给以root@ip登录的远程连接赋予权限,能够连接数据库。远程无法连接的常见问题原因。并把远程登录用户的密码设置为root

mysql> flush privileges;
mysql>quit

本文原创地址: http://www.linuxprobe.com/centos-cmake-mysql.html 作者:党伟,审核员:逄增宝

逄增宝

逄增宝

资深Linux系统爱好者,专注于Windows与Linux操作系统,关注虚拟化和自动化运维。
逄增宝