线上部署考虑因素:
版本选择,5.1、5.5还是5.6?

5.1官方已不再维护,不建议
5.5是现在线上使用最多的版本
5.6最新的稳定版,已发布3年多,现在使用的也很多

分支选择,官方社区版?persona server ? Mariadb ?

官方版 推荐使用
persona server 管理性能上有改进,并且完全兼容mysql
Mariadb 是mysql原班人马开发的

安装方式,包安装?二进制包安装源码安装?

线上推荐使用二进制包安装

路径配置,参数配置(尽量模板化、标准化)

一个实例多个库或多个实例单个库?

如果只部署一个实例,因为mysql是单进程的,对多核的利用不充分,导致资源浪费
多实例的方式,是现在主流的线上部署方式

检查系统是否含有mysql相关组件

# rpm -qa |grep mysql
mysql-libs-5.1.71-1.el6.x86_64

移除相关组件

# yum remove mysql-libs*

下载mysql二进制包

# wget http://120.52.72.24/cdn.mysql.com/c3pr90ntc0td/archives/mysql-5.6/mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz

安装依赖包

# yum install libaio

创建mysql用户、组

# groupadd mysql
# useradd -g mysql mysql

解压二进制包

# tar xzf mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz
# pwd
/opt/mysql-5.6.24-linux-glibc2.5-x86_64

创建软连接

# pwd
/usr/local
# ln -s /opt/mysql-5.6.24-linux-glibc2.5-x86_64/ mysql

指定文件拥有者为mysql

# chown -R mysql:mysql /opt/mysql-5.6.24-linux-glibc2.5-x86_64
# chown -R mysql:mysql /usr/local/mysql

创建相关目录

配置文件目录
# mkdir -p /etc/mysql
# chown -R mysql:mysql /etc/mysql
数据文件目录
# mkdir -p /data1/db3306
临时文件目录
# mkdir -p /data1/tmp# chown -R mysql:mysql /data1

设置环境变量(追加)

# vi /etc/profile
...
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
export C_INCLUDE_PATH=$MYSQL_HOME/include
export LIBDIR=/usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib:$MYSQL_HOME/lib
export LD_RUN_PATH=/usr/local/lib# source /etc/profile
# mysql --version
mysql  Ver 14.14 Distrib 5.6.24, for linux-glibc2.5 (x86_64) using  EditLine wrapper

编辑配置文件

# vi /etc/mysql/mysql3306.cnf
[mysqld]
# GENERAL #
user = mysql
port = 3306
socket = /data1/db3306/my3306.sock
pid_file = /data1/db3306/mysql.pid
datadir = /data1/db3306/
tmpdir = /data1/tmp
log_bin = /data1/db3306/3306-mysql-bin
relay-log = /data1/db3306/3306-relay-bin
log_error = /data1/db3306/error.log
slow_query_log_file = /data1/db3306/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=71493306
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/db3306/
innodb_data_file_path = ibdata1:10M:autoextend
#redo log
innodb_log_group_home_dir=/data1/db3306/
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

初始化

# pwd
/usr/local/mysql/scripts
查看帮助(列出部分重要的参数)
# ./mysql_install_db -h
--basedir=path       The path to the MySQL installation directory.
--datadir=path       The path to the MySQL data directory.If missing, the directory will be created, but itsparent directory must already exist and be writable.
--defaults-file=name Only read default options from the given file name.
--user=user_name     The login username to use for running mysqld.  Filesand directories created by mysqld will be owned by thisuser.  You must be root to use this option.  By defaultmysqld runs using your current login name and files anddirectories that it creates will be owned by you.
看到两个ok
# ./mysql_install_db --defaults-file=/etc/mysql/mysql3306.cnf --basedir=/usr/local/mysql
Installing MySQL system tables...2016-07-19 07:36:49 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.24-log) starting as process 3499 ...
OKFilling help tables...2016-07-19 07:37:09 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.24-log) starting as process 3521 ...
OK
...

启动mysql

# mysqld_safe --defaults-file=/etc/mysql/mysql3306.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  3 07:39 pts/1    00:00:00 /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

账号安全设置

# mysql -uroot --socket=/data1/db3306/my3306.sock
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: YLock_tables_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: NExecute_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: YLock_tables_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: NExecute_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)

centos6.5 mysql5.6.24 单实例二进制包安装相关推荐

  1. suse11 mysql 5.7_SUSE Linux系统中单实例二进制方式安装MySQL 5.7.22

    下面将在SUSE Linux 11 64位操作系统中以单实例二进制包方式安装MySQL 5.7.22版本数据库.以下的ywnzlinux是机器的主机名,详细安装步骤如下: 一.环境准备 操作系统是SU ...

  2. mysql5.7.10 二进制包_mysql 32 位安装教程mysql5.7 二进制包安装

    1. 下载包 wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz 2. 解压 ...

  3. mysql5.7二进制包安装

    2019独角兽企业重金招聘Python工程师标准>>> mysql5.7二进制包安装 shell> groupadd mysql shell> useradd -r -g ...

  4. 二进制包安装MySQL数据库

    1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) 1 [root@Mysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径 ...

  5. 二进制包 mysql_二进制包安装MySQL数据库

    1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) [root@Mysql_server ~]# mkdir -p /home/zhurui/tools  ##创建指定工具包存放路径 ...

  6. etcd 笔记(02)— etcd 安装(apt 或 yum 安装 、二进制包安装、Docker 安装 etcd、etcd 前端工具etcdkeeper)

    1. 使用 apt 或 yum 安装 etcd 命令如下: sudo apt-get install etcd 或者 sudo yum install etcd 这样安装的缺点是:安装的 etcd 版 ...

  7. MariaDB的二进制包安装方法

    软件包的安装方式有三种:源码包安装.二进制包安装.rpm包安装.这三种安装方法都各有优劣.RPM安装:适合小环境,核心功能都具备,快速搭建环境,但它的版本一般都不会太高:二进制安装:它是发布出来时预先 ...

  8. centos改变文件拥有者_每天学点之CentOS软件二进制包安装

    在Linux中需要根据不同的需求安装不同的软件服务.在Linux中,软件包分类两种源码包安装与二进制包安装. 一.优缺点: 优点:安装过程简单快速 缺点:无法查看源代码.选择功能不灵活.有依赖性(需要 ...

  9. Linux下二进制包安装postgresql10.4

    因为是二进制包安装,所以我下载的是postgresql-10.4-1-linux-x64-binaries.tar.gz 1.若没有postgres用户组,就先创建postgres用户组 groupa ...

最新文章

  1. SQL操作的组成部分-事务控制
  2. mysql数据库 web asp.net,使用基于asp.net web的应用程序的mysql数据库
  3. opencv 入门 demo
  4. 如何基于 SAP CDS view 生成 object page
  5. JavaScript框架的超简史
  6. python学习-10 运算符1
  7. 将任何变量的值进行二进制输出的方法
  8. 如何修改SQL Server 2008数据库服务器名称
  9. Java学习笔记四——运算符
  10. Mathematica图像处理
  11. 创业感悟:对未来越有信心,对现在就越有耐心
  12. 2017年的Microsoft Imagine Cup提供的免费Azure申请及使用方法
  13. Captcha Cracker (java)附带replace用法
  14. 正则表达式在线生成代码
  15. vue.js 构建项目_使用Vue.js和AWS Amplify构建Chatbot
  16. 30个免费且很棒的公共数据源分享
  17. 一种电源突然掉电的检测方式
  18. NR 物理层编码 - slide 3 循环码Cyclic Code
  19. java2的7次方怎么表示_2的十万次幂怎么求?用Java做
  20. linux shell 相关命令

热门文章

  1. YUV序列下采样以及彩色4:2:0与灰度4:0:0转换---基于matlab实现
  2. 送给测试行业年轻人们的一些建议
  3. 人生第一次被迫转行!实现月薪16K!勤能补拙是良训,一分耕耘一分才
  4. python不能复制粘贴_你知道怎么使用python实现复制粘贴的功能吗?
  5. linux ntp端口 修改,Linux时间配置(修改时间 修改日期 ntpd ntpdate NTP socket exiting)...
  6. layui怎样将响应数据展示在页面_layui-table对返回的数据进行转变显示的实例
  7. 音频放大电路_集成电路技术汇总:检测技巧
  8. 北京工商大学c语言复试试题,2016年北京工商大学计算机与信息工程学院C语言程序设计复试笔试仿真模拟题...
  9. jni 从c传递map到java_java_jni 本地调用接口DLL的编写样本,涉及数组传递,相关的 和C程序均已包括。 Develop 256万源代码下载- www.pudn.com...
  10. java spring 加载bean,Spring多种加载Bean方式解析