MySQL的编译安装-详细(5.7.29)

MySQL的编译安装

记录本人在阿里云服务器上编译安装MySQL5.7.29的全过程(2020/8/13 12:00)
安装的方式都差不多,可以按自己的需要下载其他版本
直接上步骤,看官按需修改即可:

1、下载MySQL源码包并上传至linux

这一步很简单,就是去MySQL的官网下载MySQL社区版5.7.29的源码包
地址:https://downloads.mysql.com/archives/community/
上传Linux可以使用Xftp或者Linux的lrzsz命令中的rz命令

2、解压源码包和安装解决MySQL软件依赖关系的包

解压源码包:

rpm  -ivh    mysql-community-5.7.29-1.el7.src.rpm

安装解决MySQL软件依赖关系的包:

yum  install cmake ncurses-devel gcc  gcc-c++ bzip2 openssl-devel -y
3、新建用户mysql及新建数据目录文件夹,并修改数据目录的拥有者为mysql

新建用户:

useradd -r -s /sbin/nologin mysql

新建文件夹:

mkdir -p /data/mysql

修改数据目录的拥有者为mysql:

chown  mysql:mysql /data/mysql  
4、进入源码包位置并解压源码包,并将boost包移动到mysql解压的包里

进入目录:

cd /root/rpmbuild/SOURCES

解压源码包并移动:

tar xf mysql-5.7.29.tar.gz
tar xf boost_1_59_0.tar.bz2
mv boost_1_59_0  mysql-5.7.29
5、进入mysql-5.7.29并进行编译前的配置

进入目录:

cd mysql-5.7.29

编译前的配置:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost_1_59_0

参数讲解:

  • -DCMAKE_INSTALL_PREFIX=/usr/local/sc_mysql 指定MySQL的安装路径
  • -DMYSQL_DATADIR=/data/mysql 指定MySQL的存放目录
  • -DSYSCONFDIR=/etc 指定MySQL配置文件的存放位置
  • -DMYSQL_USER=mysql 指定用户名
  • -DDEFAULT_CHARSET=utf8_general_ci 指定默认的字符集为utf-8
  • -DWITH_BOOST=boost_1_59_0 指定boost源
6、编译安装

启动2个进程去编译,加快速度:

make -j  2

这里的数字2为进程,根据cpu核数自行修改
安装编译好的二进制文件到指定的目录:

make install 
7、备份原来的my.cnf配置文件,然后清空这个文件,这个文件是mariadb的配置文件,不是mysql的
cp /etc/my.cnf /root/mysql.cnf.bak 
>/etc/my.cnf

第一行是备份,第二行是清空

8、进入编译安装好的mysql的目录,并初始化mysql,并且将日志和临时密码重定向到/root/temp_password.txt文件里

进入目录:

cd /usr/local/mysql/bin

初始化:

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>/root/temp_password.txt

9、修改PATH变量并拷贝mysqld的程序文件到指定的目录,方便后面设置mysqld服务开机启动
echo  'PATH=$PATH:/usr/local/mysql/bin' >>/etc/bashrc
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
10、启动mysql
service  mysqld  start

从保存的临时密码文件里,截取出临时密码,赋值给一个变量temp_pwd

temp_pwd=$(cat /root/temp_password.txt |tail -1|awk '{print $11}')

给MySQL设置密码:

mysql -uroot -p$temp_pwd --connect-expired-password -e “set password=‘此处填写密码’”

进入MySQL:

mysql -uroot -p"此处填写密码"
11、修改配置文件my.cnf

my.conf配置
#socket是用来指定socket文件的路径,方便客户端连接找到

[client]
socket=/data/mysql/mysql.sock
[mysqld]
socket=/data/mysql/mysql.sock

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值