Home >Backend Development >PHP Tutorial >Compile and install mysql5.7 on linux

Compile and install mysql5.7 on linux

不言
不言Original
2018-07-06 15:15:451989browse

This article mainly introduces about linux compilation and installation of mysql5.7, which has certain reference value. Now I share it with everyone. Friends in need can refer to it

mysql compilation and installation

Add user

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

Download the source package and unzip it

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

Install extension dependencies

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

Create mysql The installation directory and database storage directory

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

Compile and install 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

Check whether the installation is successful

[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

New directory

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

Add configuration file

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

Modify permissions

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

Generate initialization password

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

Add the mysql startup service to the system service

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

Start mysql

service mysqld start
检查mysql启动是否正常
service mysqld status 或者 ps -ef | grep mysql
设置mysqld服务开机自启动
systemctl enable mysqld.service
检查mysqld开机自启动是否设置成功
systemctl list-dependencies | grep mysqld

Modify mysql password, and remote connection permissions

 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;

The above is the entire content of this article. I hope it will be helpful to everyone's learning. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Using PHP7.2 Data Structures

How to compile and install extended redis and swoole with php

The above is the detailed content of Compile and install mysql5.7 on linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn