php环境篇:linux编译安装mysql5.7

mysql编译安装

添加用户

useradd -s /usr/sbin/nologin -r mysql

下载源码包以及解压

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.21.tar.gz
tar -zxf mysql-boost-5.7.21.tar.gz
cd mysql-5.7.21

安装扩展依赖

yum remove mariadb-libs

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

创建mysql的安装目录及数据库存放目录

mkdir -p /data/db/mysql
mkdir -p /data/log/mysql

编译安装mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DMYSQL_DATADIR=/data/mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_SYSTEMD=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

make -j8 && make install

检验是否安装成功

[root@root mysql-5.7.12]#    cd /usr/local/mysql/
[root@root mysql]#    ls
bin      data  include  man         mysql.sock.lock  README  support-files
COPYING  docs  lib      mysql.sock  mysql-test       share

新建目录

mkdir -p /data/db/mysql/
mkdir -p /data/log/mysql/

增加配置文件

mkdir /usr/local/mysql/etc
touch /usr/local/mysql/etc/my.cnf
ln -s /usr/local/mysql/etc/my.cnf /usr/local/etc

修改权限

chown -R mysql:mysql /usr/local/mysql/*
chown -R mysql:mysql /data/db/mysql /data/log/mysql

生成初始化密码


cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/db/mysql

bin/mysql_ssl_rsa_setup

vim /data/log/mysql/error.log

查看初始化密码
grep 'temporary password' /data/log/mysql/error.log

将mysql的启动服务添加到系统服务中

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

mkdir -p /var/run/mysqld/
chown mysql:mysql /var/run/mysqld

systemctl start mysqld
service mysql start

启动mysql

service mysqld start

检查mysql启动是否正常
service mysqld status 或者 ps -ef | grep mysql

设置mysqld服务开机自启动
systemctl enable mysqld.service

检查mysqld开机自启动是否设置成功
systemctl list-dependencies | grep mysqld

修改mysql密码,以及远程连接权限

 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Studytime%';
use mysql;
select host, user from user;
update user set host = '%' where user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Studytime%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
    原文作者:baihe
    原文地址: https://segmentfault.com/a/1190000015433342
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞