在一台服务器同时运行MariaDB与MySQ

[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
 
[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
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相关目录,本文示例如下
[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
311      $bindir/mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" >/dev/null 2>&1 &

[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

[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!
[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

[root@HE3 ~]# /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)


也可以手动启停
启动命令
[root@HE3 ~]# /usr/local/mariadb/bin/mysqld_safe --defaults-file=/etc/mariadb.cnf --ledir=/usr/local/mariadb/bin --datadir=/data/mariadb &

 
 停止命令
[root@HE3 ~]# /usr/local/mariadb/bin/mysqladmin --defaults-file=/usr/local/mariadb/my.cnf -hlocalhost -P3307 shutdown

相关推荐