centos7编译安装mysql5.7

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q85795362/article/details/82904620

1.安装依赖

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

2.下载及安装

####  打开root目录
cd /root

####  下载mysql5.7
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz

####  解压
tar zxvf mysql-boost-5.7.23.tar.gz

####  打开mysql文件夹
cd mysql-5.7.23

#### 配置
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/tmp/mysql.sock \
-DSYSCONFDIR=/usr/local/lnmp/mysql/conf \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLE_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_BOOST=/root/mysql-5.7.23/boost/boost_1_59_0

#### 编译
make

####  安装
make install

####  创建mysql用户组和用户
groupadd mysql
useradd -r -g mysql -s /sbin/nologin -M mysql

####  创建文件夹
mkdir -p /usr/local/lnmp/mysql/{data,logs,tmp,conf}

####  复制配置文件
cp /root/mysql-5.7.23/packaging/rpm-common/my.cnf /usr/local/lnmp/mysql/conf/

####  编辑配置文件
vim /usr/local/lnmp/mysql/conf/my.cnf

####  修改如下
datadir=/usr/local/lnmp/mysql/data
log-error=/usr/local/lnmp/mysql/logs/mysqld.log
pid-file=/usr/local/lnmp/mysql/tmp/mysqld.pid

####  设置环境变量
vim /etc/profile
###  最后添加一行:
export PATH=$PATH:/usr/local/lnmp/mysql/bin
####  保存后
source /etc/profile

####  创建日志文件
touch /usr/local/lnmp/mysql/logs/mysqld.log
####  给权限
chown -R mysql:mysql /usr/local/lnmp/mysql

####  初始化mysql
/usr/local/lnmp/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/lnmp/mysql --datadir=/usr/local/lnmp/mysql/data --explicit_defaults_for_timestamp=true

3.设置开机启动

####  复制脚本
cp /root/mysql-5.7.23/support-files/mysql.server /etc/init.d/mysqld

####  权限
chmod 755 /etc/init.d/mysqld

####  添加服务
chkconfig --add mysqld

####  设置开机自启
chkconfig mysqld on

4.修改root密码

###  登录 不输入密码 直接回车
mysql -uroot -p

### 密码
set password=password('yourpassword');
alter user 'root'@'localhost' password expire never;
flush privileges;

猜你喜欢

转载自blog.csdn.net/q85795362/article/details/82904620