10分钟实现MariaDB与MySQL在一台服务器同时运行

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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





 本文转自 dbapower 51CTO博客,原文链接:http://blog.51cto.com/suifu/1834417,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
5月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
265 28
|
7月前
|
弹性计算 Ubuntu Linux
一键部署OpenWebUI+Ollama到阿里云ECS,轻松运行DeepSeek!(保姆级教程)
在当今数据驱动的时代,快速部署和管理大模型成为企业的关键需求。阿里云提供了一键部署OpenWebUI+Ollama的便捷方案,支持本地大模型运行和管理。用户也可以选择连接阿里云百炼的在线模型。
一键部署OpenWebUI+Ollama到阿里云ECS,轻松运行DeepSeek!(保姆级教程)
|
6月前
|
安全 关系型数据库 MySQL
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
|
6月前
|
安全 关系型数据库 MySQL
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
|
7月前
|
存储 SQL 关系型数据库
服务器数据恢复—云服务器上mysql数据库数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本在生产库上执行,导致生产库上部分表被truncate,还有部分表中少量数据被delete。
180 25
|
7月前
|
监控 关系型数据库 MySQL
如何解决 MySQL 数据库服务器 CPU 飙升的情况
大家好,我是 V 哥。当 MySQL 数据库服务器 CPU 飙升时,如何快速定位和解决问题至关重要。本文整理了一套实用的排查和优化套路,包括使用系统监控工具、分析慢查询日志、优化 SQL 查询、调整 MySQL 配置参数、优化数据库架构及检查硬件资源等步骤。通过一个电商业务系统的案例,详细展示了从问题发现到解决的全过程,帮助你有效降低 CPU 使用率,提升系统性能。关注 V 哥,掌握更多技术干货。
1000 0
|
NoSQL 关系型数据库 MySQL
阿里云RDS关系型数据库大全_MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等
阿里云RDS关系型数据库如MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB
444 0
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
403 8
|
缓存 关系型数据库 MySQL
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
806 19
|
SQL 关系型数据库 MySQL
如何在 MySQL 或 MariaDB 中导入和导出数据库
如何在 MySQL 或 MariaDB 中导入和导出数据库
1024 0

热门文章

最新文章

推荐镜像

更多