CentOS 6.8 Cmake 编译安装MySQL(一)
admin
2023-05-19 16:02:30
0

部署之前我们说说,MySQL的几种安装方式:

  编译安装:优点是可以定制,按照公司要求个性化设置;缺点:编译复杂,解决依赖问题

  二进制安装:优点无需编译,解压即可;缺点 软件包较大

  yum安装:结合了上面2个的优点,但需要自己定制rpm包,放到yum仓库中,

               然后只需执行一个命令yuminstall mysql-server -y 即可完成。

那我们选择MySQL的安装方式呢?

  若是对数据库要求不太高的场景,可以采用yum/rpm方式安装MySQL,例如并发不大,只是在公司内部、企业内部的应用(Zabbix监控系统,OpenStack后台管理)等需要数据库的一些应用场景;    当然,生产场景下也是可以选择yumrpm方式进行安装的。

  但是,有很多大型网站或门户网站,往往在安装MySQL时,会有各种定制化、初始化的需求,这时,要根据企业的需求先把源码包制作成rpm,然后搭建自己的yum仓库,最终采用yum install mysql-server -y的方式安装,这样做的优点是即兼顾了yum/rpm安装方式简单的优点,又用到了源码包安装方式的可定制性



今天就说说,编译安装

一、系统环境与软件版本

[root@db02 scripts]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@db02 scripts]# uname -a
Linux db02 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

软件版本

Mysql:mysql-5.5.32  后续更新 5.6.36版本
Cmake:cmake.x86_64   2.8.12.2-4.el6   #编译工具

二、安装部署MySQL

1,安装依赖包

yum install ncurses-devel libaio-devel
rpm -qa ncurses-devel libaio-devel


2,安装cmake,之后需要用它来编译mysql

yum install cmake -y

3,创建MySQL用户,下载软件包

useradd mysql -s /sbin/nologin -M -u 503
id mysql
mkdir -p /home/oldboy/tools
cd /home/oldboy/tools/
#rz 上传源码包,包可以用过mirror开源社区获取或下面我的百度云有共享##
链接:http://pan.baidu.com/s/1qYhRwvi 密码:19dn
tar xf mysql-5.5.32.tar.gz 
cd mysql-5.5.32

4,cmake 编译安装及参数
#Cmake参数说明  http://qiuyt.blog.51cto.com/1229789/1923189

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=utf8 \               
-DDEFAULT_COLLATION=utf8_general_ci \  
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \  
-DENABLED_LOCAL_INFILE=1 \       
-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 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
make -j 2 && make install&& cd ..
#-j 编译时可以指定多个cpu,加速编译
################################
#     5.6.36 采用下面          #
################################
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 \  #安装目录
-DMYSQL_DATADIR=/application/mysql-5.6.36/data \            ##数据存放目录
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock \  #sock的文件路径
-DDEFAULT_CHARSET=utf8 \                 #默认字符集,不加默认为拉丁文
-DDEFAULT_COLLATION=utf8_general_ci \    #新建数据库默认字符集,不加默认为拉丁文
-DWITH_EXTRA_CHARSETS=all \              ##安装所有扩展字符集
-DWITH_INNOBASE_STORAGE_ENGINE=1 \       ##安装 innodb 存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 \      ##安装 FEDERATED 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \      #安装 blackhole 存储引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \     #安装 EXAMPLE 存储引擎
-DWITH_ZLIB=bundled \                    #服务器可支持压缩zlib库
-DWITH_SSL=bundled \                     #支持 SSL
-DENABLED_LOCAL_INFILE=1 \               #是否允许本地文件导入
-DWITH_EMBEDDED_SERVER=1 \               #是否建立了嵌入式服务器
-DENABLE_DOWNLOADS=1 \                   #是否下载任意文件
-DWITH_DEBUG=0                           #是否包括调试支持

#补充:如果系统里有曾经安装的数据库文件和启动程序最好停掉或删除,以免冲突。

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

#-- Build files have been written to: /home/oldboy/tools/mysql-5.5.32
提示,编译时可配置的选项很多,具体可参考结尾附录或官方文档:

##官方5.6的cmake编译参数
#http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html


三、MySQL 5.6.36 单实例配置

 3.1 配置

cd /application/mysql/
cp support-files/my*.cnf /etc/my.cnf
#cp: overwrite `/etc/my.cnf'? y
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql
chown -R mysql.mysql /application/mysql/
cp support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
chkconfig mysqld on
chkconfig --list mysqld
mkdir /application/mysql/tmp -p
chown -R mysql.mysql /application/mysql/
/etc/init.d/mysqld start
#设置环境变量
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
tail -1 /etc/profile
source /etc/profile
echo $PATH
mysql

3.2 测试MySQL

[root@db02 mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.36 Source distribution 
...省略若干行
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.14 sec)

3.3 单实例错误总结

################
问题1:

[root@db02 mysql-5.6.36]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/application/mysql-5.6.36/data/db02.err'.
170507 11:36:28 mysqld_safe Directory '/application/mysql-5.6.36/tmp' for UNIX socket file don't exists.
 ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data/db02.pid).
 
 ##排错
[root@db02 mysql-5.6.36]# mkdir /application/mysql/tmp -p
[root@db02 mysql-5.6.36]# chown -R mysql.mysql /application/mysql/
[root@db02 mysql-5.6.36]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/application/mysql-5.6.36/data/db02.err'.
.. SUCCESS!


问题2:

[root@db02 mysql]# /etc/init.d/mysqld start
Starting MySQL... ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data/db02.pid).

可能原因:
1、授权问题
2、磁盘空间
3、看日志排查。

3.4 简单安全优化MySQL

mysqladmin -u root password 'oldboy123' ##设置mysql密码##
select user,host from mysql.user;
drop user ''@'db02';
drop user ''@'localhost';
drop user 'root'@'db02';
drop user 'root'@'::1';
select user,host from mysql.user;
drop database test;
show databases;



相关内容

热门资讯

让数据“说话”、AI“拿主意” 在德赛西威的智能化产线上,AI让流水线告别传统人工模式,精度与效率双双跃升 集成供应链的...
星河动力智神星一号 8 月中下... 8 月 3 日消息,星河动力航天将于近期择机实施“智神星一号(遥一)”商业运载火箭发射任务,今日发布...
伊朗称在霍尔木兹海峡上空击落一... 新华社德黑兰8月3日电 据伊朗媒体3日报道,伊朗伊斯兰革命卫队在霍尔木兹海峡上空击落一架MQ-9无人...
“地表最强男人”,遇难 奇迹没有发生,在经过几天的救援之后,正式消息发出,世界著名登山家尼尔马尔·普尔贾(Nirmal Pu...
精神科医生“十级美颜”证件照刷... 近日,山西医科大学第一医院精神科医生郎小娥的证件照,因美颜效果突出打破大众固有印象而意外出圈。8月1...
凤凰直击日本熊本震区:刚修缮好... 日本熊本强震重创当地历史建筑。位于熊本县八代市的八代宫神社受损惨重。凤凰卫视特派记者蒋文彬采访了神社...
考勤、工资、社保都要查,中国企... 编者按7月23日,欧盟第21轮对俄制裁,将14家中国内地及香港企业列入名单;不到24小时,中国商务部...
两名俄公民在泰国遇害,泰总理道... 综合泰国《曼谷邮报》等媒体8月2日报道,对于两名俄罗斯公民近期在泰国遇害,泰国总理阿努廷作出表态并进...
总书记的人民情怀|“坚持高质量... 原标题:“坚持高质量发展要成为领导干部政绩观的重要内容”(总书记的人民情怀)本报记者 赵 成 史一棋
马科斯遭痛批“亲美上头”:瞧瞧... 菲律宾主流英文报刊《马尼拉时报》8月3日刊发评论文章,批评菲律宾政府近年来过度依赖美国安全承诺,对华...