mysql5.7 source installation database deployment

**mysql5.7.20 source code deployment

Author: mj bacon (mjboy)**

mysql5.7 source installation database deployment

1)安装基础包
yum install -y gcc gcc-c++ automake autoconf git make
yum -y install cmake bison-devel ncurses-devel libaio-devel

2) Create a directory (for storing downloaded files)
mkdir -p /home/mjboy/tools

Download mysql5.7.20 to this /home/mjboy/tools directory
wget https://downloads.mysql.com/archives/get/file/mysql-5.7.20.tar.gz
wget https://downloads.mysql.com/archives /get/file/mysql-boost-5.7.20.tar.gz

3) Create a mysql user:
groupadd -g 800 mysql
useradd -u 800 mysql -s /sbin/nologin -M -g mysql

4) tar decompression package
tar xf mysql-5.7.20.tar.gz
tar xf mysql-boost-5.7.20.tar.gz

5)cmake配置编译选项
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.20 \
-DMYSQL_DATADIR=/application/mysql-5.7.20/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.7.20/tmp/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/home/mjboy/tools/mysql-5.7.20/boost \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

Note: utf8mb4 is a superset of utf8, but generally utf8 is enough, and utf8mb4 will consume more space

The specific meaning of the parameters:
refer to the official documentation -- cmake mysql5.7 reference
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

6) Compile && install
make && make install

7) Set mysql soft link
ln -s /application/mysql-5.7.20/ /application/mysql

Thinking: Why set up a soft link -- (version replacement, to provide convenience)

8) Copy the startup file and configuration file (if not, create it yourself, it is best to make my.cnf yourself)

Set up the mysqld startup script

cp /application/mysql-5.7.20/support-files/mysql.server /etc/init.d/mysqld

#Configure my.cnf

cp /application/mysql-5.7.20/support-files/my-default.cnf /etc/my.cnf

[root@mysql57 ~]# cat /etc/my.cnf
[client]
port = 3306
socket = /application/mysql/data/tmp/mysql.sock

# This configuration section sets the conditions for starting the MySQL service; in this case, no-auto-rehash ensures that the service starts faster.
#no-auto-rehash

[server]
user = root
port = 3306
socket = /application/mysql/data/tmp/mysql.sock
basedir = /application/mysql
datadir = /application/mysql/data/

9) Set environment variables

[root@master data]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@master data]# tail -1 /etc/profile
[root@master data]# export PATH=/application/mysql/bin:$PATH
[root@master data]# source /etc/profile
[root@master data]# echo $PATH
/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Note: Why put the application's environment variables in front?
http://oldboy.blog.51cto.com/2561410/1122867 (the effect of the location of environment variables )

10)授权
chown -R mysql:mysql /application/mysql/data/
chmod -R 1777 /tmp/

11)初始化
/application/mysql-5.7.20/bin/mysqld --initialize --user=mysql --basedir=/application/mysql-5.7.20/ --datadir=/application/mysql-5.7.20/data

#Record the initial password#
A temporary password is generated for root@localhost: NphU.;4Xdl#w

12) Create a mysql.sock storage directory and authorize
mkdir /application/mysql-5.7.20/tmp
chown -R mysql.mysql /application/mysql-5.7.20/

13) Start
/etc/init.d/mysqld start or systemctl start mysqld

14) Modify the initial password
mysqladmin -uroot -p'NphU.;4Xdl#w' password 'root'

15)登录mysql成功!
[root@mysql57 ~]# mysql -uroot -proot -e "select version();show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+-----------+
| version() |
+-----------+
| 5.7.20 |
+-----------+
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| tmp |
+--------------------+
[root@mysql57 ~]#

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325698758&siteId=291194637