linux mysq程序拷贝,Linux下MySQL的编译安装(详细步骤)

编译安装MySQL(5.7.29)

1、下载mysql的源码包

官网下载mysql的源码包,上传到Linux服务器的当前目录下(~)

有需要的可百度网盘提取:

链接:https://pan.baidu.com/s/1BOFyrnLZl8tl-FRpwNRJjw

提取码:phff

2、先下载好 一些必要的软件和包:

yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel -y

3、解压src.rpm包

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

rpm 是linux里的软件管理的命令

-ivh 是安装的意思 --》本质上其实就是解压这个src.rpm包

如果没有命令可以 yum install 安装

弄好之后应该是这样的

[root@localhost ~]# ls

anaconda-ks.cfg mysql-community-5.7.29-1.el7.src.rpm rpmbuild

[root@localhost ~]# cd rpmbuild

rpmbuild目录一定会在用户的家目录下

[root@localhost rpmbuild]# ls

SOURCES SPECS

[root@localhost rpmbuild]# cd SOURCES

[root@localhost SOURCES]# ls

boost_1_59_0.tar.bz2 filter-requires.sh mysql-5.7.29.tar.gz

filter-provides.sh mysql-5.6.45.tar.gz

3、解压真正的mysql 5.7.29的tarball

tar xf mysql-5.7.29.tar.gz

还要解压boost包:tar xf boost_1_59_0.tar.bz2 (bzip2)

并且将这个boost包移到mysql解压的包里 mv boost_1_59_0 mysql-5.7.29

cd mysql-5.7.29 – 一定要在这个目录里面执行接下来的步骤

4、编译前的配置

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

cmake是一个编译器,就是将C语言编写的代码翻译成机器可以执行的二进制的程序

gcc 也是一个编译器

-DCMAKE_INSTALL_PREFIX --》 是编译安装Mysql的时候的固定语法参数,是给cmake传参的,告诉cmake去生成一个叫做Makefile的文件

-DMYSQL_DATADIR --》 指定Mysql的存放数据的目录 ,具体的路径可以自己定义

-DSYSCONFDIR --》 指定MYSQL的配置文件存放的目录

-DMYSQL_USER --》 指定启动mysql的用户,用户名可以自己定义

-DDEFAULT_CHARSET --》 指定MySQL里的默认的字符集

-DDEFAULT_COLLATION --》 排序规则,utf8_general_ci 是utf8里的排序规则,不区分大小写

-DWITH_BOOST --》 指定boost源码的位置,在mysql源码的当前目录下有一个boost_1_59_0的文件夹

boost是什么? — Boost提供免费的经过同行评审的可移植C++源库

cmake和/.configure – 目的是生成makefile的配置文件

5、开始编译

输入命令:make

make -j 2 启动2个进程编译,加快速度,如果系统有两个核的话。

6、新建好mysql用户

useradd -r -s /sbin/nologin mysql

7、新建数据目录

mkdir -p /data/mysql

并且修改权限:chown mysql:mysql /data/mysql/

8、编译安装

make install

作用:将编译好的二进制文件安装到指定的目录 --》 复制当前目录下编译好的二进制文件到当时指定的目录

9、备份数据

cp /etc/my.cnf /root/new_direct/my.cnf

备份原来的/etc/my.cnf文件,然后清空这个文件,这个文件是mariadb的配置文件,不是MySQL的

10、进入安装好的mysql目录,开始初始化操作,并且保存好临时密码

cd /usr/local/sc_mysql/bin

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

temp_passwd=$(cat /root/new_direct/temp_passwd.txt |tail -1|awk ‘{print $11}’)

temp_passwd – 获得临时密码

11、拷贝mysql和mysqld的程序文件到指定的目录

cp mysql /usr/bin/

echo ‘PATH=$PATH:/usr/local/sc_mysql/bin’ >>/etc/bashrc

随便执行一个都可以,目的是为了可以直接通过命令启动mysql

cp …/support-files/mysql.server /etc/init.d/mysqld – 拷贝mysqld的程序文件到指定的目录,方便后面设置mysqld服务开机启动 -》mysqld服务的启动脚本

12、关闭防火墙和selinux

service firewalld stop / systemctl stop firewalld.service

setenforce 0

13、设置MySQL开机自启动

chkconfig mysqld on

14、启动MySQL并且重新设置密码

service mysqld start

mysql -uroot -p’xxx’ alter user ‘root’@‘localhost’ identified by ‘你要设置的密码’;

15、最后检测是否启动MySQL

执行ps aux|grep mysqld命令

如果显示有mysqld_safe和mysqld两个进程,那么恭喜你,mysql启动成功

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值