[[email protected] ~]#groupadd mariadb -g 513
[[email protected] ~]#useradd
-u 513 -g mariadb -s /sbin/nologin -d /home/mariadb mariadb
从MariaDB官网下载二进制安装包至/root目录,本文采用的是目前最新稳定版mariadb-10.1.16
[[email protected] ~]# tar
xvf mariadb-10.1.16-linux-x86_64.tar.gz
[[email protected] ~]# mv
/root/mariadb-10.1.16-linux-x86_64 /usr/local/mariadb
[[email protected] ~]#mkdir -p
/data/mariadb
[[email protected] ~]#chown -R
mariadb. /data/mariadb
[[email protected] ~]#mkdir -p
/log/mariadb
[[email protected] ~]#chown -R
mariadb. /log/mariadb
[[email protected] ~]#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 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
初始化数据库
[[email protected] ~]#/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/下
[[email protected] ~]#cp -rp /usr/local/mariadb/support-files/mysql.server /etc/init.d/mariadb
编辑该启停脚本变更第46、47、58行为mariadb相关目录,本文示例如下
[[email protected] ~]#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
311 $bindir/mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "[email protected]" >/dev/null 2>&1 &
[[email protected] ~]# ps -ef|grep mysql root 28996 2226 0 16:50 pts/2 00:00:00 grep mysql [[email protected] ~]# /etc/init.d/mysqld start Starting MySQL. SUCCESS! [[email protected] ~]# 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
[[email protected] ~]# /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>
[[email protected] ~]# /etc/init.d/mariadb start
Starting MySQL SUCCESS!
[[email protected] ~]# 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
[[email protected] ~]# /usr/local/mariadb/bin/mysql -uroot -p -P3307 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)
也可以手动启停
启动命令
[[email protected]
~]# /usr/local/mariadb/bin/mysqld_safe --defaults-file=/etc/mariadb.cnf
--ledir=/usr/local/mariadb/bin --datadir=/data/mariadb &
停止命令
[[email protected] ~]#
/usr/local/mariadb/bin/mysqladmin --defaults-file=/usr/local/mariadb/my.cnf
-hlocalhost -P3307 shutdown