centos6.5 mysql5.6.24 单机多实例安装

单实例安装请参照该文档,本文在此基础上进行安装

多实例部署优势:

  • 充分利用系统资源
    • mysql为单进程多线程的模型,它对多核的利用不是很好,无法充分利用系统资源。所以服务器上可以考虑多实例部署
  • 资源隔离
    • 如果不同的业务,部署在一个实例里,那么连接数、缓存等资源都是共享的。如果某个业务压力很大的话,很可能影响另一个业务的正常运行
  • 业务、模块隔离
    • 例如,A业务需要支持移动端,那么就需要升级数据库以支持utf8mb4字符集。而B业务则不需要。如果A、B是部署在一起的话,升级数据库必然会对B的业务造成影响

安装过程

复制已有的配置文件

# pwd
/etc/mysql
# cp -p mysql3306.cnf mysql3307.cnf
# ll
total 8
-rw-r--r--. 1 mysql mysql 2368 Jul 19 06:59 mysql3306.cnf
-rw-r--r--. 1 mysql mysql 2368 Jul 19 06:59 mysql3307.cnf

修改配置文件

# sed -i '1,$s/3306/3307/g' mysql3307.cnf
# more mysql3307.cnf
[mysqld]
# GENERAL #
user = mysql
port = 3307
socket = /data1/db3307/my3307.sock
pid_file = /data1/db3307/mysql.pid
datadir = /data1/db3307/
tmpdir = /data1/tmp
log_bin = /data1/db3307/3307-mysql-bin
relay-log = /data1/db3307/3307-relay-bin
log_error = /data1/db3307/error.log
slow_query_log_file = /data1/db3307/slow-queries.log
long_query_time=1
sync_binlog = 0
expire_logs_days = 7
back_log=1024
skip-name-resolve
skip-slave-start
skip-external-locking
skip-character-set-client-handshake
explicit_defaults_for_timestamp=true
default_storage_engine = InnoDB
bind-address=0.0.0.0
#lower_case_table_names  = 0
myisam_recover = FORCE,BACKUP
transaction-isolation = READ-COMMITTED
table_definition_cache = 4096
table_open_cache = 4096

# connection #
max_connections = 1100
max_user_connections = 1000
max_connect_errors = 1000

# timeout #
wait_timeout = 100
interactive_timeout = 100
lock_wait_timeout = 3
connect_timeout = 20
slave-net-timeout = 30

# character #
character-set-server=utf8
init-connect='SET NAMES utf8'

# disabled query cache #
query_cache_type = 0
query_cache_size = 0

# replication #
server_id=71493307
gtid_mode=ON
enforce-gtid-consistency
log-slave-updates
binlog-format=row
slave-parallel-workers=6
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync_master_info = 10000
slave_sql_verify_checksum=1
skip-slave-start

# session #
key_buffer_size = 128M
tmp_table_size = 32M
max_heap_table_size = 32M
max_allowed_packet = 32M
bulk_insert_buffer_size = 32M
sort_buffer_size = 128K
read_buffer_size = 1M
read_rnd_buffer_size = 1M
join_buffer_size = 128K
myisam_sort_buffer_size = 32M
tmp_table_size = 32M
max_heap_table_size = 64M
thread_cache_size = 64
#thread_concurrency = 32
thread_stack = 192K

# INNODB #
innodb_flush_method = O_DIRECT
innodb_data_home_dir = /data1/db3307/
innodb_data_file_path = ibdata1:10M:autoextend
#redo log
innodb_log_group_home_dir=/data1/db3307/
innodb_log_files_in_group = 3
innodb_log_file_size = 1G
#innodb performance
innodb_flush_log_at_trx_commit = 0
innodb_file_per_table = 1
innodb_buffer_pool_instances = 8
innodb_io_capacity = 2000
innodb_lock_wait_timeout = 30
binlog_error_action = ABORT_SERVER
innodb_buffer_pool_size = 256M
innodb_max_dirty_pages_pct=90
innodb_file_format=Barracuda
innodb_support_xa = 0
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_load_at_startup = 1

创建相关目录,修改目录拥有者

# mkdir -p /data1/db3307
# chown -R mysql:mysql /data1/db3307

实例初始化

# ./mysql_install_db --basedir=/usr/local/mysql --defaults-file=/etc/mysql/mysql3307.cnf
Installing MySQL system tables...2016-07-19 08:49:04 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.24-log) starting as process 5438 ...
OK

Filling help tables...2016-07-19 08:50:33 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.24-log) starting as process 5484 ...
OK
......

# pwd
/data1/db3307

# ll
total 3222684
-rw-rw----. 1 mysql mysql      65420 Jul 19 08:50 3307-mysql-bin.000001
-rw-rw----. 1 mysql mysql    1099687 Jul 19 08:50 3307-mysql-bin.000002
-rw-rw----. 1 mysql mysql         72 Jul 19 08:50 3307-mysql-bin.index
-rw-rw----. 1 mysql mysql       5077 Jul 19 08:50 error.log
-rw-rw----. 1 mysql mysql        962 Jul 19 08:50 ib_buffer_pool
-rw-rw----. 1 mysql mysql   77594624 Jul 19 08:50 ibdata1
-rw-rw----. 1 mysql mysql 1073741824 Jul 19 08:50 ib_logfile0
-rw-rw----. 1 mysql mysql 1073741824 Jul 19 08:50 ib_logfile1
-rw-rw----. 1 mysql mysql 1073741824 Jul 19 08:50 ib_logfile2
drwx------. 2 mysql mysql       4096 Jul 19 08:50 mysql
drwx------. 2 mysql mysql       4096 Jul 19 08:50 performance_schema
drwx------. 2 mysql mysql       4096 Jul 19 08:49 test

启动实例

# mysqld_safe --defaults-file=/etc/mysql/mysql3307.cnf  &

查看相关进程

# ps -ef |grep mysql
root       3551   2818  0 07:39 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/mysql/mysql3306.cnf
mysql      4604   3551  0 07:39 pts/1    00:00:04 /usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/mysql3306.cnf --basedir=/usr/local/mysql --datadir=/data1/db3306/ --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data1/db3306/error.log --pid-file=/data1/db3306/mysql.pid --socket=/data1/db3306/my3306.sock --port=3306
root       4630   2818  0 07:40 pts/1    00:00:00 mysql -uroot --socket=/data1/db3306/my3306.sock
root       5513   5341  0 08:53 pts/3    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/mysql/mysql3307.cnf
mysql      6566   5513 15 08:53 pts/3    00:00:01 /usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/mysql3307.cnf --basedir=/usr/local/mysql --datadir=/data1/db3307/ --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data1/db3307/error.log --pid-file=/data1/db3307/mysql.pid --socket=/data1/db3307/my3307.sock --port=3307

账号安全设置

mysql> select user,host,password from mysql.user;
+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
| root | localhost |          |
| root | miles     |          |
| root | 127.0.0.1 |          |
| root | ::1       |          |
|      | localhost |          |
|      | miles     |          |
+------+-----------+----------+
6 rows in set (0.01 sec)

mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.01 sec)

mysql> delete from mysql.user where host <>'localhost';
Query OK, 3 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user;
+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
| root | localhost |          |
+------+-----------+----------+
1 row in set (0.00 sec)

mysql> set password for root@'localhost' = password('XXXXXX');
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 可以看到test数据库存在安全隐患,任何用户都可以在test进行操作
mysql> select * from mysql.db \G
*************************** 1. row ***************************
                 Host: %
                   Db: test
                 User:
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: N
         Execute_priv: N
           Event_priv: Y
         Trigger_priv: Y
*************************** 2. row ***************************
                 Host: %
                   Db: test\_%
                 User:
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: N
         Execute_priv: N
           Event_priv: Y
         Trigger_priv: Y
2 rows in set (0.00 sec)

mysql> delete from mysql.db;
Query OK, 2 rows affected (0.00 sec)

mysql> drop database test;
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
时间: 2024-10-03 05:39:58

centos6.5 mysql5.6.24 单机多实例安装的相关文章

centos6.5 mysql5.6.24 单实例二进制包安装

线上部署考虑因素: 版本选择,5.1.5.5还是5.6? 5.1官方已不再维护,不建议 5.5是现在线上使用最多的版本 5.6最新的稳定版,已发布3年多,现在使用的也很多 分支选择,官方社区版?persona server ? Mariadb ? 官方版 推荐使用 persona server 管理性能上有改进,并且完全兼容mysql Mariadb 是mysql原班人马开发的 安装方式,包安装?二进制包安装源码安装? 线上推荐使用二进制包安装 路径配置,参数配置(尽量模板化.标准化) 一个实例

MySQL单机多实例方案部署

MySQL单机多实例方案,是指在一台物理服务器上运行多个MySQL数据库实例. MySQL单机多实例的优点: 1.节省成本,减少服务器.IP.机柜的数量,总体运营成本低于单机单实例方案. 2.提升利用率,利用NUMA特性,对MySQL实例进行CPU绑定. 3.提升用户体验,大幅度提高IO响应时间,有助于提升用户的体验. MySQL多实例部署的具体实施 1.MySQL多实例目录的规划(数据目录配置文件目录) 实例1 数据路径: /home/mysql/data 配置文件路径: /usr/local

学习tomcat之tomcat单机多实例部署

想要获得更多的文章,可以关注我的微信ilanniweb 为了有效的利用服务器的资源,我们现在需要在一台服务器上部署多个tomcat,这也就是我们经常所说的tomcat单机多实例部署. PS:本次实验的测试OS为centos6.5 64bit. 一.配置JAVA_HOME路径 要配置JAVA_HOME路径,我们就要首先安装jdk.jdk的安装在此我们使用的是yum方式,没有使用源码方式安装. 1.1 yum安装jdk jdk我们现在是使用的yum方式进行安装的,首先我们先来查看能够安装的jdk版本

PostgreSQL 主机性能测试方法 - 单机单实例

背景 业界有一些通用的数据库性能测试模型,可以用来测试硬件在不同测试模型下的性能表现. 参考http://www.tpc.org/https://github.com/oltpbenchmark/oltpbenchhttp://oltpbenchmark.com/ 本文主要以PostgreSQL为例,向大家介绍一下,如何使用PostgreSQL来测试硬件的性能. PostgreSQL 的功能非常的强大,所以可以适用于几乎所有的测试模型,同时用户还可以根据自己的应用场景设计测试模型. 前面已经介绍

PostgreSQL 单机多实例on XFS 润滑性测试

背景 前面一篇将EXT4 单机多实例在使用cgroup限制IOPS时,出现了IO HANG, 即使使用了data=writeback问题依旧. 从D状态的进程打印的PSTACK可以看到,问题卡在ext4上面. 详见 <PostgreSQL 9.6 检查点SYNC_FILE_RANGE 在单机多实例下的IO Hang问题浅析与优化> 阿里云的RDS PostgreSQL通过优化检查点调度解决了这个问题,原理也可以参考上文. XFS是一个非常不错的文件系统,特别是在高并发的场景下面,性能比EXT4

安装MySQL5.1.24

打开Event Viewer发现有一条Mysql的错误 Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist 我是Windows2k3 R2系统 后来翻到两条解决办法: 第一种解决办法是:进入Mysql的bin目录运行mysql -u root -p mysql 输入密码后运行 mysql> SOURCE ../share/mysql_fix_privilege_tables.sql 这种办法应该是Re

Oracle 10g 11g 单机环境的安装

Oracle 10g 11g 单机环境的安装 前提条件要准备2台测试用的机器,开始制作如下:+要保证2台机器安装oracle10g以及更高的版本,我这里是用的10.2.0.5做实验. 准备工具: Xmanager4   Xftp工具.Xsell工具.Window DOS控制台.Redhat6.1操作系统.Oracle10.2.0.1 安装包 .升级包.补丁包.   1 安装操作系统 我的实验环境是 redhat6.1 2台 以最小化安装的. 2  安装操作系统: Linux redhat6.1 

安装完成后如何找回SQL Server实例安装时的序列号_MsSql

当需要再次安装SQL Server时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQL Server后,序列号(Product Key)被保存在注册表里: MSDN订阅下载的安装包是内置序列号的,则没有这个困扰. 一. 序列号保存在哪 通过无文档记载的扩展存储过程xp_regread读取注册表: --For SQL Server 2008, 2008 R2 use master GO exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTW

CentOS6.5菜鸟之旅:U盘安装CentOS64位

一.前言    之前下载了个CentOS7 32位版,一下就安装成功了,但由于其目录结构等与之前的CentOS版本有很大的不同,加上教程不多不利于我这种菜鸟学习,于是决定重装CentOS6.5来学习.本篇用于记录安装过程中所踩的坑,以便日后查阅.   二.国内下载源 163镜像:http://mirrors.163.com/ sohu镜像:http://mirrors.sohu.com/ 阿里镜像:http://mirrors.aliyun.com/   三.准备工作 1. 下载CentOS-6