CentOS 7下mariadb-10.1.22 源码编译安装过程笔记,希望对大家有帮助。
下载文件https://mariadb.com/
或
https://downloads.mariadb.org/mariadb/10.2.11/
下载链接:
https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.11/source/mariadb-10.2.11.tar.gz
[root@begin mariaDB]# wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.11/source/mariadb-10.2.11.tar.gz
--2018-01-01 23:31:27-- https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.11/source/mariadb-10.2.11.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.6.178, 2402:f000:1:416:101:6:6:178
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.6.178|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 72772830 (69M) [application/octet-stream]
Saving to: ‘mariadb-10.2.11.tar.gz’
100%[====================================================================================================================>] 72,772,830 22.0MB/s in 3.2s
2018-01-01 23:31:31 (22.0 MB/s) - ‘mariadb-10.2.11.tar.gz’ saved [72772830/72772830]
[root@begin mariaDB]# ll -h
total 70M
-rw-r--r-- 1 root root 70M Nov 27 18:09 mariadb-10.2.11.tar.gz
[root@begin mariaDB]#
[root@begin mariaDB]# tar -xf mariadb-10.2.11.tar.gz
[root@begin mariaDB]# ll
total 71072
drwxrwxr-x 33 mysql mysql 4096 Nov 27 18:09 mariadb-10.2.11
-rw-r--r-- 1 root root 72772830 Nov 27 18:09 mariadb-10.2.11.tar.gz
[root@begin mariaDB]# cd mariadb-10.2.11/
[root@begin mariadb-10.2.11]#
[root@haiyuan mariaDB]# yum grouplist | grep Tools
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Console Internet Tools
Development Tools
Graphical Administration Tools
Security Tools
System Administration Tools
[root@haiyuan mariaDB]# yum groupinstall Development Tools -y
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Warning: group Tools does not exist.
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch 0:2.69-11.el7 will be installed
--> Processing Dependency: m4 >= 1.4.14 for package: autoconf-2.69-11.el7.noarch
--> Processing Dependency: perl(Data::Dumper) for package: autoconf-2.69-11.el7.noarch
......
Installed:
autoconf.noarch 0:2.69-11.el7 automake.noarch 0:1.13.4-3.el7 bison.x86_64 0:3.0.4-1.el7 byacc.x86_64 0:1.9.20130304-3.el7
cscope.x86_64 0:15.8-10.el7 ctags.x86_64 0:5.8-13.el7 diffstat.x86_64 0:1.57-4.el7 doxygen.x86_64 1:1.8.5-3.el7
flex.x86_64 0:2.5.37-3.el7 gcc-c++.x86_64 0:4.8.5-16.el7_4.1 git.x86_64 0:1.8.3.1-12.el7_4 indent.x86_64 0:2.2.11-13.el7
intltool.noarch 0:0.50.2-7.el7 libtool.x86_64 0:2.4.2-22.el7_3 patchutils.x86_64 0:0.3.3-4.el7 rcs.x86_64 0:5.9.0-5.el7
rpm-sign.x86_64 0:4.11.3-25.el7 subversion.x86_64 0:1.7.14-11.el7_4 swig.x86_64 0:2.0.10-5.el7 systemtap.x86_64 0:3.1-4.el7_4
Dependency Installed:
apr.x86_64 0:1.4.8-3.el7_4.1 apr-util.x86_64 0:1.5.2-6.el7 boost-date-time.x86_64 0:1.53.0-27.el7
dyninst.x86_64 0:9.3.1-1.el7 efivar-libs.x86_64 0:31-4.el7 emacs-filesystem.noarch 1:24.3-20.el7_4
gettext-common-devel.noarch 0:0.19.8.1-2.el7 gettext-devel.x86_64 0:0.19.8.1-2.el7 libdwarf.x86_64 0:20130207-4.el7
libgnome-keyring.x86_64 0:3.12.0-1.el7 libstdc++-devel.x86_64 0:4.8.5-16.el7_4.1 m4.x86_64 0:1.4.16-10.el7
mokutil.x86_64 0:12-1.el7.centos neon.x86_64 0:0.30.0-3.el7 pakchois.x86_64 0:0.4-10.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-12.el7_4
perl-TermReadKey.x86_64 0:2.30-20.el7 perl-Test-Harness.noarch 0:3.28-3.el7 perl-XML-Parser.x86_64 0:2.41-10.el7
subversion-libs.x86_64 0:1.7.14-11.el7_4 systemtap-client.x86_64 0:3.1-4.el7_4 systemtap-devel.x86_64 0:3.1-4.el7_4
systemtap-runtime.x86_64 0:3.1-4.el7_4
Dependency Updated:
cpp.x86_64 0:4.8.5-16.el7_4.1 gcc.x86_64 0:4.8.5-16.el7_4.1 gcc-gfortran.x86_64 0:4.8.5-16.el7_4.1 gettext.x86_64 0:0.19.8.1-2.el7
gettext-libs.x86_64 0:0.19.8.1-2.el7 libgcc.x86_64 0:4.8.5-16.el7_4.1 libgfortran.x86_64 0:4.8.5-16.el7_4.1 libgomp.x86_64 0:4.8.5-16.el7_4.1
libquadmath.x86_64 0:4.8.5-16.el7_4.1 libquadmath-devel.x86_64 0:4.8.5-16.el7_4.1 libstdc++.x86_64 0:4.8.5-16.el7_4.1 rpm.x86_64 0:4.11.3-25.el7
rpm-build.x86_64 0:4.11.3-25.el7 rpm-build-libs.x86_64 0:4.11.3-25.el7 rpm-libs.x86_64 0:4.11.3-25.el7 rpm-python.x86_64 0:4.11.3-25.el7
Complete!
[root@haiyuan mariaDB]# yum install -y ncurses-devel openssl-devel openssl
相关命令如下:
yum groupinstall “Development Tools”
yum install -y ncurses-devel openssl-devel openssl
可以去cmake 官网进行下载:
https://cmake.org/download/
[root@haiyuan mariaDB]# wget https://cmake.org/files/v3.10/cmake-3.10.1.tar.gz
--2018-01-02 22:06:59-- https://cmake.org/files/v3.10/cmake-3.10.1.tar.gz
Resolving cmake.org (cmake.org)... 66.194.253.19
Connecting to cmake.org (cmake.org)|66.194.253.19|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7824043 (7.5M) [application/x-gzip]
Saving to: ‘cmake-3.10.1.tar.gz’
100%[=================================================================================================================>] 7,824,043 118KB/s in 28s
2018-01-02 22:07:29 (270 KB/s) - ‘cmake-3.10.1.tar.gz’ saved [7824043/7824043]
[root@haiyuan mariaDB]# ll
total 78716
-rw-r--r-- 1 root root 7824043 Dec 14 22:09 cmake-3.10.1.tar.gz
drwxrwxr-x 33 1001 1001 4096 Nov 27 18:09 mariadb-10.2.11
-rw-r--r-- 1 root root 72772830 Nov 27 18:09 mariadb-10.2.11.tar.gz
[root@haiyuan mariaDB]# tar -xf cmake-3.10.1.tar.gz
[root@haiyuan mariaDB]# cd cmake-3.10.1
[root@haiyuan cmake-3.10.1]# ls
Auxiliary CMakeGraphVizOptions.cmake CompileFlags.cmake CTestConfig.cmake Help README.rst Utilities
bootstrap CMakeLists.txt configure CTestCustom.cmake.in Licenses Source
CMakeCPack.cmake CMakeLogo.gif CONTRIBUTING.rst DartConfig.cmake Modules Templates
CMakeCPackOptions.cmake.in cmake_uninstall.cmake.in Copyright.txt doxygen.config Packaging Tests
[root@haiyuan cmake-3.10.1]# ./bootstrap
---------------------------------------------
CMake 3.10.1, Copyright 2000-2017 Kitware, Inc. and Contributors
Found GNU toolchain
C compiler on this system is: gcc
C++ compiler on this system is: g++ -std=gnu++1y
Makefile processor on this system is: gmake
[root@haiyuan cmake-3.10.1]# make && make install
Scanning dependencies of target cmsys
[ 0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/ProcessUNIX.c.o
[ 0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/Base64.c.o
================
3.1.准备目录
[root@haiyuan cmake-3.10.1]# mkdir -pv /data_linux/mysql/3306/{data,logs/{binlog,relaylog}}
mkdir: created directory ‘/data_linux/mysql’
mkdir: created directory ‘/data_linux/mysql/3306’
mkdir: created directory ‘/data_linux/mysql/3306/data’
mkdir: created directory ‘/data_linux/mysql/3306/logs’
mkdir: created directory ‘/data_linux/mysql/3306/logs/binlog’
mkdir: created directory ‘/data_linux/mysql/3306/logs/relaylog’
[root@haiyuan cmake-3.10.1]#
3.2.添加用户
[root@haiyuan cmake-3.10.1]# groupadd mysql
[root@haiyuan cmake-3.10.1]# useradd -s /sbin/nologin -g mysql -M mysql
Group 'mail' not found. Creating the user mailbox file with 0600 mode.
[root@haiyuan cmake-3.10.1]# chown mysql:mysql /data_linux/mysql/3306/ -R
[root@haiyuan cmake-3.10.1]#
==============
[root@haiyuan mariadb-10.2.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data_linux/mysql/3306/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITHOUT_MROONGA_STORAGE_ENGINE=1
......
CMake Deprecation Warning at cmake/for_clients.cmake:15 (CMAKE_POLICY):
The OLD behavior for policy CMP0007 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
CMakeLists.txt:415 (INCLUDE)
-- Configuring done
-- Generating done
-- Build files have been written to: /data_linux/mariaDB/mariadb-10.2.11
[root@haiyuan mariadb-10.2.11]# make
[root@haiyuan mariadb-10.2.11]# make install
如果上面make需要修改参数,重新编译 可以删除原来本目录下的CMakeCache.txt
mv CMakeCache.txt CMakeCache.txt.bak
[root@haiyuan mariadb-10.2.11]# chmod +w /usr/local/mysql/
[root@haiyuan mariadb-10.2.11]# chown -R mysql:mysql /usr/local/mysql/
[root@haiyuan mariadb-10.2.11]#
[root@haiyuan mariadb-10.2.11]# cp support-files/my-large.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@haiyuan mariadb-10.2.11]#
vim /etc/my.cnf
增加如下:
datadir = /data_linux/mysql/3306/data
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = ON
skip_name_resolve = ON
=======
查看配置文件当前有效配置:
[root@haiyuan mariadb-10.2.11]# sed -e "s/#.*//g" /etc/my.cnf | awk '{if (length !=0) print $0}'
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
datadir = /data_linux/mysql/3306/data
innodb_data_home_dir = /data_linux/mysql/3306/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /data_linux/mysql/3306/data
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_file_per_table = ON
skip_name_resolve = ON
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[root@haiyuan mariadb-10.2.11]#
[root@haiyuan mariadb-10.2.11]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data_linux/mysql/3306/data/ --defaults-file=/etc/my.cnf
WARNING: The host 'haiyuan' could not be looked up with /usr/local/mysql//bin/resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MariaDB version. The MariaDB daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MariaDB privileges !
Installing MariaDB/MySQL system tables in '/data_linux/mysql/3306/data/' ...
2018-01-02 23:28:50 140467365218368 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
2018-01-02 23:28:50 140467365218368 [ERROR] /usr/local/mysql//bin/mysqld: unknown variable 'innodb_additional_mem_pool_size=20M'
2018-01-02 23:28:50 140467365218368 [ERROR] Aborting
Installation of system tables failed! Examine the logs in
/data_linux/mysql/3306/data/ for more information.
The problem could be conflicting information in an external
my.cnf files. You can ignore these by doing:
shell> scripts/mysql_install_db --defaults-file=~/.my.cnf
You can also try to start the mysqld daemon with:
shell> /usr/local/mysql//bin/mysqld --skip-grant --general-log &
and use the command line tool /usr/local/mysql//bin/mysql
to connect to the mysql database and look at the grant tables:
shell> /usr/local/mysql//bin/mysql -u root mysql
mysql> show tables;
Try 'mysqld --help' if you have problems with paths. Using
--general-log gives you a log in /data_linux/mysql/3306/data/ that may be helpful.
The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
MariaDB is hosted on launchpad; You can find the latest source and
email lists at http://launchpad.net/maria
Please check all of the above before submitting a bug report
at http://mariadb.org/jira
[root@haiyuan mariadb-10.2.11]#
查看初始化结果:
[root@haiyuan mariadb-10.2.11]# ll /data_linux/mysql/3306/data/
total 206880
-rw-rw---- 1 mysql mysql 16384 Jan 2 23:28 aria_log.00000001
-rw-rw---- 1 mysql mysql 52 Jan 2 23:28 aria_log_control
-rw-rw---- 1 mysql mysql 2717 Jan 2 23:28 ib_buffer_pool
-rw-rw---- 1 mysql mysql 77594624 Jan 2 23:28 ibdata1
-rw-rw---- 1 mysql mysql 67108864 Jan 2 23:28 ib_logfile0
-rw-rw---- 1 mysql mysql 67108864 Jan 2 23:28 ib_logfile1
drwx------ 2 mysql root 4096 Jan 2 23:28 mysql
-rw-rw---- 1 mysql mysql 0 Jan 2 23:28 mysql-bin.index
drwx------ 2 mysql root 4096 Jan 2 23:28 test
[root@haiyuan mariadb-10.2.11]#
[root@haiyuan mariadb-10.2.11]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@haiyuan mariadb-10.2.11]# chmod +x /etc/rc.d/init.d/mysqld
[root@haiyuan mariadb-10.2.11]# chkconfig --add mysqld
[root@haiyuan mariadb-10.2.11]# /etc/init.d/mysqld restart
Restarting mysqld (via systemctl): [ OK ]
[root@haiyuan mariadb-10.2.11]#
####9.添加环境变量
[root@haiyuan mariadb-10.2.11]# vim /etc/profile
##export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
[root@haiyuan mariadb-10.2.11]# source /etc/profile
[root@haiyuan mariadb-10.2.11]#
[root@haiyuan mariadb-10.2.11]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.11-MariaDB-log Source distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> select user,host,password from mysql.user;
+------+-----------+----------+
| user | host | password |
+------+-----------+----------+
| root | localhost | |
| root | haiyuan | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | haiyuan | |
+------+-----------+----------+
6 rows in set (0.00 sec)
MariaDB [mysql]> update user set password=PASSWORD('newpassword') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> delete from user where user='';
Query OK, 2 rows affected (0.00 sec)
MariaDB [mysql]> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | haiyuan | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
MariaDB [mysql]>