[root@HE3 ~]#groupadd mariadb -g 513
[root@HE3 ~]#useradd -u 513 -g mariadb -s /sbin/nologin -d /home/mariadb mariadb
从MariaDB官网下载二进制安装包至/root目录,本文采用的是目前最新稳定版mariadb-10.1.16
[root@HE3 ~]# tar xvf mariadb-10.1.16-linux-x86_64.tar.gz
[root@HE3 ~]# mv /root/mariadb-10.1.16-linux-x86_64 /usr/local/mariadb
[root@HE3 ~]#mkdir -p /data/mariadb
[root@HE3 ~]#chown -R mariadb. /data/mariadb
[root@HE3 ~]#mkdir -p /log/mariadb
[root@HE3 ~]#chown -R mariadb. /log/mariadb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
[root@HE3 ~]
#vi /usr/local/mariadb/my.cnf
[client]
port = 3307
socket =
/tmp/mariadb
.sock
default-character-
set
= utf8
[mysql]
default-character-
set
= utf8
[mysqld]
port = 3307
socket =
/tmp/mariadb
.sock
user = mariadb
pid-
file
=
/data/mariadb/mysql
.pid
basedir =
/usr/local/mariadb
datadir =
/data/mariadb
open_files_limit = 3072
back_log = 103
max_connections = 800
max_connect_errors = 100000
table_open_cache = 512
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 51
query_cache_size = 32M
tmp_table_size = 96M
max_heap_table_size = 96M
slow_query_log = 1
slow_query_log_file =
/log/mariadb/slow
.log
log-error =
/log/mariadb/error
.log
long_query_time = 1
server-
id
= 2503307
log-bin =
/log/mariadb/mysql-bin
sync_binlog = 1
binlog_cache_size = 4M
max_binlog_cache_size = 8M
max_binlog_size = 1024M
expire_logs_days = 60
key_buffer_size = 32M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
character-
set
-server = utf8
default-storage-engine = InnoDB
binlog_format = row
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_load_at_startup = 1
#binlog_rows_query_log_events = 1
explicit_defaults_for_timestamp = 1
transaction_isolation = REPEATABLE-READ
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 512M
#innodb_data_home_dir =
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_max_dirty_pages_pct = 50
innodb_file_per_table = 1
innodb_locks_unsafe_for_binlog = 0
wait_timeout = 14400
interactive_timeout = 14400
skip-name-resolve
[mysqldump]
quick
max_allowed_packet = 32M
|
初始化数据库
[root@HE3 ~]#/usr/local/mariadb/scripts/mysql_install_db --basedir=/usr/local/mariadb --datadir=/data/mariadb --defaults-file=/usr/local/mariadb/my.cnf --user=mariadb
拷贝启停模板至/etc/init.d/下
[root@HE3 ~]#cp -rp /usr/local/mariadb/support-files/mysql.server /etc/init.d/mariadb
编辑该启停脚本变更第46、47、58行为mariadb相关目录,本文示例如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@HE3 ~]
#vi /etc/init.d/mariadb
46 basedir=
/usr/local/mariadb
47 datadir=
/data/mariadb
48
49
# Default value, in seconds, afterwhich the script should timeout waiting
50
# for server start.
51
# Value here is overriden by value in my.cnf.
52
# 0 means don't wait at all
53
# Negative numbers mean to wait indefinitely
54 service_startup_timeout=900
55
56
# Lock directory for RedHat / SuSE.
57 lockdir=
'/var/lock/subsys'
58 lock_file_path=
"$lockdir/mariadb"
|
第311行添加唯一参数路径,本文为--defaults-file=/usr/local/mariadb/my.cnf
1
|
311 $bindir
/mysqld_safe
--defaults-
file
=
/usr/local/mariadb/my
.cnf --datadir=
"$datadir"
--pid-
file
=
"$mysqld_pid_file_path"
"$@"
>
/dev/null
2>&1 &
|
1
2
3
4
5
6
7
8
|
[root@HE3 ~]
# ps -ef|grep mysql
root 28996 2226 0 16:50 pts
/2
00:00:00
grep
mysql
[root@HE3 ~]
# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@HE3 ~]
# ps -ef|grep mysql
root 29008 1 0 16:51 pts
/2
00:00:00
/bin/sh
/usr/local/mysql/bin/mysqld_safe
--datadir=
/data/mysql
--pid-
file
=
/data/mysql/HE3
.pid
mysql 29754 29008 13 16:51 pts
/2
00:00:00
/usr/local/mysql/bin/mysqld
--basedir=
/usr/local/mysql
--datadir=
/data/mysql
--plugin-
dir
=
/usr/local/mysql/lib/plugin
--user=mysql --log-error=
/log/mysql/error
.log --
open
-files-limit=3072 --pid-
file
=
/data/mysql/HE3
.pid --socket=
/tmp/mysql
.sock --port=3306
root 29778 2226 0 16:51 pts
/2
00:00:00
grep
mysql
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@HE3 ~]# /usr/
local
/mysql/bin/mysql -uroot -p -P3306
Enter
password
:
Welcome
to
the MySQL monitor. Commands
end
with
;
or
\g.
Your MySQL
connection
id
is
1
Server version: 5.6.25-log MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle
and
/
or
its affiliates.
All
rights reserved.
Oracle
is
a registered trademark
of
Oracle Corporation
and
/
or
its
affiliates. Other names may be trademarks
of
their respective
owners.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear the
current
input statement.
mysql>
select
version();
+
------------+
| version() |
+
------------+
| 5.6.25-log |
+
------------+
1 row
in
set
(0.01 sec)
mysql>
|
[root@HE3 ~]# /etc/init.d/mariadb start
Starting MySQL SUCCESS!
1
2
3
4
5
6
|
[root@HE3 ~]
# ps -ef|grep mysql
root 29008 1 0 16:51 pts
/2
00:00:00
/bin/sh
/usr/local/mysql/bin/mysqld_safe
--datadir=
/data/mysql
--pid-
file
=
/data/mysql/HE3
.pid
mysql 29754 29008 0 16:51 pts
/2
00:00:00
/usr/local/mysql/bin/mysqld
--basedir=
/usr/local/mysql
--datadir=
/data/mysql
--plugin-
dir
=
/usr/local/mysql/lib/plugin
--user=mysql --log-error=
/log/mysql/error
.log --
open
-files-limit=3072 --pid-
file
=
/data/mysql/HE3
.pid --socket=
/tmp/mysql
.sock --port=3306
root 29802 1 0 16:52 pts
/2
00:00:00
/bin/sh
/usr/local/mariadb/bin/mysqld_safe
--defaults-
file
=
/usr/local/mariadb/my
.cnf --datadir=
/data/mariadb
--pid-
file
=
/data/mariadb/HE3
.pid
mariadb 30041 29802 7 16:52 pts
/2
00:00:00
/usr/local/mariadb/bin/mysqld
--defaults-
file
=
/usr/local/mariadb/my
.cnf --basedir=
/usr/local/mariadb
--datadir=
/data/mariadb
--plugin-
dir
=
/usr/local/mariadb/lib/plugin
--user=mariadb --log-error=
/log/mariadb/error
.log --
open
-files-limit=3072 --pid-
file
=
/data/mariadb/HE3
.pid --socket=
/tmp/mariadb
.sock --port=3307
root 30070 2226 0 16:52 pts
/2
00:00:00
grep
mysql
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@HE3 ~]# /usr/
local
/mariadb/bin/mysql -uroot -S /tmp/mariadb.sock
Enter
password
:
Welcome
to
the MariaDB monitor. Commands
end
with
;
or
\g.
Your MySQL
connection
id
is
11
Server version: 5.6.25-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab
and
others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear the
current
input statement.
MariaDB [(none)]>
select
version();
+
-----------------+
| version() |
+
-----------------+
| 10.1.16-MariaDB |
+
-----------------+
1 row
in
set
(0.00 sec)
|