Centos 6、Centos7 编译安装MySql-5.7

mysql下载地址

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.23.tar.gz

解压

tar xf mysql-boost-5.7.23.tar.gz

卸载mariadb

查看当前安装列表
[root@localhost ~]# rpm -qa | grep mariadb 或者 rpm -qa | grep mysql
mariadb-5.5.65-1.el7.x86_64
mariadb-server-5.5.65-1.el7.x86_64
mariadb-devel-5.5.65-1.el7.x86_64
mariadb-libs-5.5.65-1.el7.x86_64
卸载lib库
[root@localhost ~]# rpm -e mariadb-server-5.5.65-1.el7.x86_64
[root@localhost ~]# rpm -e mariadb-devel-5.5.65-1.el7.x86_64
[root@localhost ~]# rpm -e mariadb-5.5.65-1.el7.x86_64
[root@localhost ~]# rpm -e mariadb-libs-5.5.65-1.el7.x86_64

创建mysql程序用户

useradd -s/sbin/nologin mysql

创建数据库数据目录

mkdir -p /data/mysql/data
chown -R mysql:mysql /data/mysql

环境准备

yum install gcc gcc-c++ ncurses-devel perl autoconf cmake -y

编译-安装

编译过程需要3~4g的内存,且过程比较漫长。

是虚拟机的话可以添加内存;

不选择加内存的话,可以新增临时的swap空间,用磁盘暂时代替内存 ,编译完后在删除临时的swap。

#开启临时swap分区
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile
#进入源码包目录
cd mysql-5.7.23
#编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make && make install

#关闭临时swap分区
swapoff /swapfile
rm /swapfile

编写配置my.cnf

mkdir /usr/local/mysql/etc
vim /usr/local/mysql/etc/my.cnf

[mysqld]
user=mysql
port=3306
basedir = /usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql-error.log
pid-file=/data/mysql/mysql.pid
tmpdir=/tmp

[mysqld_safe]
log-error=/data/mysql/mysql-error.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/tmp/mysql.sock

mysql初始化

/usr/local/mysql/bin/mysqld   --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --pid-file=/data/mysql/mysql.pid --tmpdir=/tmp

–initialize-insecure root用户无密码
mysql安装好后可以用mysqladmin -uroot password “新密码”设置root密码

这一步容易报错,有报错可以看日志排错

把mysql命令添加环境变量中

echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
source /etc/profile

配置mysql启动脚本并启动服务

***************Centos 6 添加启动脚本********************
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#修改/etc/init.d/mysql 中basedir、datadir、conf的值
sed -i "s|^basedir=.*|basedir=\/usr\/local\/mysql|" /etc/init.d/mysql
sed -i "s|^datadir=.*|datadir=\/data\/mysql\/data|" /etc/init.d/mysql
sed -i "s|conf=.*|conf=${INSTALL_DIR}\/mysql\/etc\/my.cnf|" /etc/init.d/mysql

启动服务
/etc/init.d/mysql start
mysql
***************Centos 7 添加启动服务********************
编写启动服务service文件
vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/data/mysql/mysql.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false

[Install]
WantedBy=multi-user.target

重新载入单元,扫描新的或有变化的单元,使刚刚添加的mysql.service生效
systemctl daemon-reload

此后,则可通过如下命令操作Mysql
systemctl enable mysql             开机自启动服务
systemctl start mysql              启动服务
systemctl stop mysql               停止服务
systemctl restart mysql            重启服务

登录mysql数据库

mysql  匿名登录
mysql> quit   退出

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值