人物:我:未入门linux菜鸟
发哥:授业恩师
故事:
发哥从讲脚本以来崇尚通过脚本学习各种服务的部署,事有利弊,伸手党通过脚本自动化部署如果在完全不仔细阅读脚本内容,理解决策内涵的情况下进行,难免对以后服务的各项参数的调整增加难度,用发哥的话说就是"给自己找事"
鉴于能力,时间有限,借鉴发哥脚本如下:
如脚本所示,在最小化安装环境(基本,以及开发工具,无桌面,安装包大概700多)中部署mysql,发哥的思路比较清晰,首先解决环境中依赖包问题,yum -y install ncurses-*如果是联网状态,在正确配置yum源的前提下可以正常安装依赖,但是,问题来了,如果配置的是本地yum源(通过挂载CentOS-CD1光盘到/mnt,再自己编辑XXX.repo文件到/etc/yum.repo.d/下)则会报ncurses相关依赖安装不成功的问题,初步解释是CD1中的关于ncurses的软件包不全,具体原因有待之后具体探究,这里再插一句,更换yum源时要使用 yum clean all清除之前的缓存,否则容易影响改过后的yum安装.
而在查看资料后,发现有人使用如下设置解决问题:
看起来和发哥的内容基本一致,但是准确定义文件名称后或许可以使在无网络环境中用本地光盘yum安装成功,当然,后续具发哥称也可以使用rsync将CD2和CD1内容整合起来,以解决缺包问题.
基础环境cmake和mysql的压缩包都释放到/usr/src下,方便管理(估计长时间使用应该需要定期清理解压缩的内容)而重点要看的是mysql编译安装相关参数的定制
#################################################################################
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/
make &&make install
#################################################################################
首先,mysql的主文件安装在/usr/local/mysql下,也就是说,基本大部分的文件都在这里面了,后边一些关于字符集的问题没有详细查询,不过都UTF-8了估计基本就是大众设置了,而这里要说的是
-DSYSCONFDIR=/etc/
mysql英文官网对这个配置项的解释如下
指定my.cnf的默认存储文件夹的位置,后续解释中也提到mysql在开启后不能设置这个文件夹的位置,但是可以在开启mysql时指定 --defaults-file=
file_name
说到这个my.cnf文件,先来个真的看看大概长个什么样
去掉部分注释掉的,发挥作用的基本这些,从注释内容可以直观的看出mysql果真是CS结构,通过3306端口进行监听,重点来了,无论是服务端还是客户端,接口(socket大概就这意思吧,暂且这么理解吧!)所指路径为/tmp/mysql.sock,而/tmp所具备的权限应该是777,如果在部分情况下权限缺失会出现无法启动mysql的问题.当时没有截图,大概问题如下
关于mysql问题的相关记录和问题暂且写到这里,如遇到相关问题再继续连载
To be continued...
本文出自 “Sherry and George” 博客,谢绝转载!