cmake编译安装mysql5.5
admin
2023-05-20 12:02:53
0

                            CMAKE方式编译安装Mysql5.5

1、源码cmake方式编译安装MySQL5.5.32

安装前先安装:

yum install ncurses-devel -y


1.1 下载Mysqlcmake安装包:

wget http://wwwNaNake.org/files/v2.8/cmake-2.8.8.tar.gz


1.2 查看系统环境

cat /etc/redhat-release

uname -r

uname -m

1.3 安装cmake

tar zxf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure

gmake

gmake install

cd ../

1.4 开始安装mysql

1.4.1 创建用户和组

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

yum install ncurses-devel -y


1.4.2 解压编译MySQL

tar zxf mysql-5.5.32.tar.gz

cd mysql-5.5.32


cmake -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

-DMYSQL_DATADIR=/application/mysql-5.5.32/data\

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock\

-DDEFAULT_CHARSET=gbk\

-DDEFAULT_COLLATION=gbk_chinese_ci\

-DENABLED_LOCAL_INFILE=ON\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_FEDERATED_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1\

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\

-DWITHOUT_PARTITION_STORAGE_ENGINE=1


make


make install

ln -s /application/mysql-5.5.32/ /application/mysql

如果上述操作未出现错误,则MySQL软件的安装就算成功了。


1.4.3 初始化配置MySQL

1.查看默认模板配置文件

[root@Mysqlmysql-5.5.32]# ll support-files/my*.cnf

-rw-r--r--1 root root  4759 Apr 25 18:19support-files/my-huge.cnf

-rw-r--r--1 root root 19809 Apr 25 18:19 support-files/my-innodb-heavy-4G.cnf

-rw-r--r--1 root root  4733 Apr 25 18:19support-files/my-large.cnf

-rw-r--r--1 root root  4744 Apr 25 18:19support-files/my-medium.cnf

-rw-r--r--1 root root  2908 Apr 25 18:19support-files/my-small.cnf

2.选择配置文件

/bin/cpsupport-files/my-small.cnf /etc/my.cnf

测试环境选小的,生产环境可以根据硬件选择support-files/my-innodb-heavy-4G.cnf


3.配置环境变量

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile

tail -1 /etc/profile

source /etc/profile

echo $PATH


4.初始化数据文件(容易出错的步骤)

#建立mysql数据文件目录

mkdir -p /application/mysql/data

#授权mysql用户访问mysql的安装目录

chown -R mysql.mysql /application/mysql/*

chmod -R 1777 /tmp

#初始化数据库文件(如果重新初始化数据库文件,必须先执行:rm -fr /application/mysql/data/*)

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql--datadir=/application/mysql/data --user=mysql    

特别提示:

a.如果用mysql 5.05.1省略指定datadir会出错。


5.设置常规方式启动关闭脚本

cd /application/tools/mysql-5.5.32/

#拷贝mysql启动脚本到/etc/init.d/

cp support-files/mysql.server /etc/init.d/mysqld

#授权700权限,即脚本可执行

chmod 700 /etc/init.d/mysqld

/etc/init.d/mysqldstart

chkconfig mysqld on

chkconfig --list mysqld


6.登录mysql


7.简单优化mysql

a.删除test库:

mysql>show databases;

+--------------------+

|Database           |

+--------------------+

|information_schema |

|mysql              |

|performance_schema |

|test               |

+--------------------+

4 rowsin set (0.03 sec)


mysql>drop database test;

Query OK, 0 rows affected (0.04 sec)


mysql>show databases;

+--------------------+

|Database           |

+--------------------+

|information_schema |

|mysql              |

|performance_schema |

+--------------------+

3 rowsin set (0.00 sec)


b.清除并修改管理员用户

mysql>select user,host from mysql.user;  

+------+-----------+

| user| host      |

+------+-----------+

| root| 127.0.0.1 |

| root| ::1       |

|      | Mysql     |

| root| Mysql     |

|      | localhost |

| root| localhost |

+------+-----------+

6 rowsin set (0.00 sec)


mysql>delete from mysql.user;

QueryOK, 6 rows affected (0.07 sec)


mysql>select user,host from mysql.user;

Emptyset (0.00 sec)

mysql>grant all privileges on *.* to system@'localhost' identified by '1234' withgrant option;

QueryOK, 0 rows affected (0.00 sec)

mysql>flush privileges;

QueryOK, 0 rows affected (0.00 sec)

mysql>grant all privileges on *.* to system@'127.0.0.1' identified by '1234' withgrant option;        

QueryOK, 0 rows affected (0.00 sec)

mysql>select user,host from mysql.user;

+--------+-----------+

|user   | host      |

+--------+-----------+

|system | 127.0.0.1 |

|system | localhost |

+--------+-----------+

2 rowsin set (0.00 sec)


操作过程:

[root@mysqltools]# cat /etc/redhat-release

CentOSrelease 6.4 (Final)

[root@mysqltools]# uname -r

2.6.32-358.el6.x86_64

[root@mysqltools]# uname -m

x86_64


[root@mysqltools]# tar zxf cmake-2.8.8.tar.gz

[root@mysqltools]# cd cmake-2.8.8

[root@mysqlcmake-2.8.8]# ./configure

CMakehas bootstrapped.  Now run gmake.

[root@Mysqlcmake-2.8.8]# gmake

[root@Mysqlcmake-2.8.8]# gmake install

[root@Mysqlapplication]# groupadd mysql

[root@Mysqlapplication]# useradd mysql -s /sbin/nologin -M -g mysql

[root@Mysqltools]# tar zxf mysql-5.5.32.tar.gz

[root@Mysqltools]# cd mysql-5.5.32

[root@Mysqlmysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

cmake. -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

-DMYSQL_DATADIR=/application/mysql-5.5.32/data\

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock\

-DDEFAULT_CHARSET=gbk\

-DDEFAULT_COLLATION=gbk_chinese_ci\

-DENABLED_LOCAL_INFILE=ON\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_FEDERATED_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1\

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\

-DWITHOUT_PARTITION_STORAGE_ENGINE=1


#Build files have been written to: /application/tools/mysql-5.5.32   如果显示这个表示cmake成功


[root@Mysqlmysql-5.5.32]# make

[root@Mysqlmysql-5.5.32]# make install

[root@Mysqlmysql-5.5.32]# ln -s /application/mysql-5.5.32//application/mysql

[root@Mysqlmysql-5.5.32]# ll support-files/my*.cnf

-rw-r--r--1 root root  4759 Apr 25 18:19support-files/my-huge.cnf

-rw-r--r--1 root root 19809 Apr 25 18:19 support-files/my-innodb-heavy-4G.cnf

-rw-r--r--1 root root  4733 Apr 25 18:19support-files/my-large.cnf

-rw-r--r--1 root root  4744 Apr 25 18:19support-files/my-medium.cnf

-rw-r--r--1 root root  2908 Apr 25 18:19support-files/my-small.cnf

[root@Mysqlmysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf

[root@Mysqlmysql-5.5.32]# echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile

[root@Mysqlmysql-5.5.32]# tail -1 /etc/profile

exportPATH=/application/mysql/bin:$PATH

[root@Mysqlmysql-5.5.32]# source /etc/profile

[root@Mysqlmysql-5.5.32]# echo $PATH

/application/mysql/bin:/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@Mysqlmysql-5.5.32]# mkdir -p /application/mysql/data

[root@Mysqlmysql-5.5.32]# chown -R mysql.mysql /application/mysql/*

[root@Mysqlmysql-5.5.32]# chmod -R 1777 /tmp

[root@Mysqlmysql-5.5.32]# /application/mysql/scripts/mysql_install_db--basedir=/application/mysql --datadir=/application/mysql/data--user=mysql  

[root@Mysqlmysql-5.5.32]# cp support-files/mysql.server /etc/init.d/mysqld

[root@Mysqlmysql-5.5.32]# chmod 700 /etc/init.d/mysqld

[root@Mysqlmysql-5.5.32]# chkconfig mysqld on

[root@Mysqlmysql-5.5.32]# chkconfig --list mysqld

mysqld          0:off   1:off  2:on    3:on    4:on   5:on    6:off

root@Mysqlmysql-5.5.32]# mysql

Welcometo the MySQL monitor.  Commands end with; or \g.

YourMySQL connection id is 2

Serverversion: 5.5.32 Source distribution


Copyright(c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.


Oracleis a registered trademark of Oracle Corporation and/or its

affiliates.Other names may be trademarks of their respective

owners.


Type'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql>


简单优化mysql

a.删除test库:

mysql>show databases;

+--------------------+

|Database           |

+--------------------+

|information_schema |

|mysql              |

|performance_schema |

|test               |

+--------------------+

4 rowsin set (0.03 sec)


mysql>drop database test;

QueryOK, 0 rows affected (0.04 sec)


mysql>show databases;

+--------------------+

|Database           |

+--------------------+

|information_schema |

|mysql              |

|performance_schema |

+--------------------+

3 rowsin set (0.00 sec)


b.清除并修改管理员用户

mysql>select user,host from mysql.user;  

+------+-----------+

| user| host      |

+------+-----------+

| root| 127.0.0.1 |

| root| ::1       |

|      | Mysql     |

| root| Mysql     |

|      | localhost |

| root| localhost |

+------+-----------+

6 rowsin set (0.00 sec)


mysql>delete from mysql.user;

Query OK, 6 rows affected (0.07 sec)


mysql>select user,host from mysql.user;

Emptyset (0.00 sec)

mysql>grant all privileges on *.* to system@'localhost' identified by '1234' withgrant option;

Query OK, 0 rows affected (0.00 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql>grant all privileges on *.* to system@'127.0.0.1' identified by '1234' withgrant option;        

Query OK, 0 rows affected (0.00 sec)

mysql>select user,host from mysql.user;

+--------+-----------+

|user   | host      |

+--------+-----------+

|system | 127.0.0.1 |

|system | localhost |

+--------+-----------+

2 rowsin set (0.00


1CMAKE安装Mysql时遇到的问题:

--Check size of wint_t - done

--Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMakeError at cmake/readlineNaNake:83 (MESSAGE):

 Curses library not found.  Please install appropriate package,

     remove CMakeCache.txt and rerun cmake.OnDebian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it isncurses-devel.

CallStack (most recent call first):

 cmake/readlineNaNake:127 (FIND_CURSES)

 cmake/readlineNaNake:217(MYSQL_USE_BUNDLED_LIBEDIT)

 CMakeLists.txt:269 (MYSQL_CHECK_READLINE)

--Configuring incomplete, errors occurred!


解决方法:

rm CMakeCache.txt

yum install ncurses-devel -y

然后再cmake



相关内容

热门资讯

人民日报评河南考试作弊:基层工... 人民日报客户端 余双之针对2026年“三支一扶”计划招募舆情,河南省“三支一扶”工作领导小组协调办公...
普京登台踢足球,学生们兴奋大喊 俄罗斯总统普京8月3日到访克拉斯诺亚尔斯克,出席“大变革”竞赛的闭幕式。俄新社8月3日报道,“大变革...
河南发生5人灭门惨案?当地辟谣 近日,某平台账号“寻找下一站幸福”“陈哥药膳卤味(创业记录)”发布信息称西平县发生五人灭门惨案,引发...
“抗生素牛蛙”为何难杀? “抗生素牛蛙”,又重出江湖了!准确说,一直就隐匿在江湖根除不尽,太难杀了!近日,有媒体随机网购了一些...
没招了?美媒爆料:美军群发邮件... 据美国有线电视新闻网(CNN)8月3日报道,多名消息人士透露,美军中央司令部的高级官员上周发出一封群...
“荷兰弟”替身是个“河南弟”:... 封面新闻记者 王一理目前,电影《蜘蛛侠:崭新之日》正在热映中。8月2日,河南演员王壮壮发文表示,自己...
3人用AI合成700多份不雅照... 近日,山东德州,当地邮政部门工作人员发现多处邮箱出现笔迹一致的可疑信件,收件人多为企业高管、老板等。...
他扮演蜘蛛侠涨粉千万,流量密码... Joshua Watson(约书亚·沃森)是一位美国知名的视觉特效(VFX)内容创作者和社交媒体影响...
国企信创数字化改造,部署 AI... 国企信创数字化改造,最难的不是把 AI 智能体“装上去”,而是让它在国产电脑、国产操作系统和现有业务...
三宜电气申请户外高压限流熔断器... 国家知识产权局信息显示,浙江三宜电气有限公司申请一项名为“一种户外高压限流熔断器”的专利,公开号CN...