Source installation of mariadb

(1) Go to the official website of mariadb
Insert picture description here
(2) choose to download mariadb server

Insert picture description here
(3) Download version 10.2
Insert picture description here
(4) Find the source code installation method
Insert picture description here

(5) Download and transfer to the host

Insert picture description here

(6) Prepare the compilation environment

yum install libaio-devel bison bison-devel zlib-devel  openssl-devel ncurses-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake libevent-devel

(7) Prepare the user and database file storage directory

[root@localhost ~]# mkdir -pv /data/mysql
mkdir: 已创建目录 "/data/mysql"

[root@localhost ~]# groupadd -r mysql

[root@localhost ~]# useradd -r -g mysql -s /sbin/nologin -d /data/mysql -m mysql

(8) Unzip the directory

[root@localhost ~]# tar xvf mariadb-10.2.31.tar.gz

(9) The compilation options can be viewed here


[root@localhost mariadb-10.2.31]# pwd
/root/mariadb-10.2.31

[root@localhost ~]# mkdir /app/mysql -pv   #这是创建安装目录
mkdir: 已创建目录 "/app"
mkdir: 已创建目录 "/app/mysql"


cmake . \-DCMAKE_INSTALL_PREFIX=/app/mysql \  安装目录
-DMYSQL_DATADIR=/data/mysql/ \    数据库文件存放目录
-DSYSCONFDIR=/etc \     my.cnf配置文件存放目录
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@localhost mariadb-10.2.31]# make && make install

(10) Prepare environment variables

[root@localhost mysql]# cat /etc/profile.d/mysql.sh 
export PATH=/app/mysql/bin/:$PATH

(11) Create a database file

[root@localhost mysql]# pwd
/app/mysql

[root@localhost mysql]# scripts/mysql_install_db --datadir=/data/mysql  --user=mysql

[root@localhost mysql]# ls /data/mysql
aria_log.00000001  ib_buffer_pool  ib_logfile0  mysql               test
aria_log_control   ibdata1         ib_logfile1  performance_schema

(12) Create a configuration file

[root@localhost mysql]# cp support-files/my-huge.cnf /etc/my.cnf


在mysqld下添加一行
27 [mysqld]
 28 datadir=/data/mysql

(13) Create service script

[root@localhost mysql]# cp support-files/mysql.server  /etc/init.d/mysqld

(14) Add the service script to the startup environment

[root@localhost mysql]# chkconfig --add /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --list | grep mysqld

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

mysqld         	0:关	1:关	2:开	3:开	4:开	5:开	6:关

(15) Start the service

[root@localhost mysql]# systemctl start mysql
[root@localhost mysql]# ss -ntlp | grep 3306
LISTEN     0      80        [::]:3306                  [::]:*                   users:(("mysqld",pid=37869,fd=21))

(16) Enter mysql
Insert picture description here

Guess you like

Origin blog.csdn.net/qq_44564366/article/details/104256138