Linux运维实战——MySQL源码包个性化部署【CentOS】

2021/4/15 2:30:53

本文主要是介绍Linux运维实战——MySQL源码包个性化部署【CentOS】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

区别:

与二进制(RPM)发行版本(直接安装方式)相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL
所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:
a) 针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
b) 根据不同的软件平台环境调整相关的编译参数;
c) 针对我们特定应用场景选择需要什么组件不需要什么组件;
d) 根据我们的所需要存储的数据内容选择只安装我们需要的字符集;
e) 同一台主机上面可以安装多个MySQL;
f) 等其他一些可以根据特定应用场景所作的各种调整。

在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
a) 对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
b) 对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
c) 还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长。

建议根据实际情况和需求进行数据库安装及调试。

  • 准备编译环境
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake          安装编译工具
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

  • 安装MySQL

准备好源码包(如果没有可以到我上传的资源下载免费的)

groupadd mysql                     创建组
useradd -r -g mysql -s /bin/false mysql    创建用户并给权限
tar xvf mysql-5.7.19.tar.gz                解压
cd mysql-5.7.19                            到目录
pwd                                查看当前位置
   /root/mysql-5.7.19              当前位置
mv ../boost_1_59_0.tar.gz  .       移动文件到当前目录
tar xf  boost_1_59_0.tar.gz        解压

  • 调参
cmake . \                         \回车是换行帮助美观代码
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

其他如果需要调更多参数可以参考官方文档


  • 编译
make   编译(时间很久30min-1h)
make install  安装

  • 初始化
cd /usr/local/mysql       前往安装位置
mkdir mysql-files         创建文件夹
chown -R mysql.mysql  /usr/local/mysql      给到权限
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data     在屏幕上找到临时密码并保存

/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

  • 建立MySQL配置文件my.cnf
mv /etc/my.cnf  ~    备份原有配置文件
vim /etc/my.cnf
 [mysqld]
 basedir=/usr/local/mysql
 datadir=/usr/local/mysql/data

  • 开机启动MySQL
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld             添加mysql服务
chkconfig mysqld on               开机自动启动mysql服务
service mysqld start  
ps aux |grep mysqld
/usr/local/mysql/bin/mysql -u root -p'密码'    登录MySQL
/usr/local/mysql/bin/mysqladmin -u root -p '旧密码' password '新密码'
show databases;                               看到库即可


这篇关于Linux运维实战——MySQL源码包个性化部署【CentOS】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程