Compile and install mysql5.7 on linux

不言
Release: 2023-04-02 17:20:01
Original
1953 people have browsed it

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
Copy after login

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
Copy after login

Create mysql The installation directory and database storage directory

mkdir -p /data/db/mysql
mkdir -p /data/log/mysql
Copy after login

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
Copy after login

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
Copy after login

New directory

mkdir -p /data/db/mysql/
mkdir -p /data/log/mysql/
Copy after login

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
Copy after login

Modify permissions

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

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
Copy after login

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
Copy after login

Start mysql

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

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;
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template