MySQL 01 通过二进制包安装MySQL

原文

二进制包是针对一些通用环境做的编译包,在大部分 linux平台上都能直接安装。相比 yum 和 rpm 安装,预编译二进制包安装的优势有:
1. 更灵活,可以自定义安装路径,不像 yum/rpm 那样,只能安装到固定陌路下
2. 可以安装最新版本, 不受发行版限制

卸载原有MySQL

大多数Linux版本会默认有MySQL,安装前需要卸载原MySQL

rpm -qa | grep mysql  // 这个命令会查看该操作系统上是否已经安装了mysql数据库

如果你系统有安装,那可以选择进行卸载

rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

建立相关目录

安装前先创建如下目录:

mkdir /opt/software     # 存放下载的安装包
mkdir /opt/mysql     # 存放解压后的文件
mkdir /data/mysql/mysql_3306   # 对于一个MySQL实例
mkdir /data/mysql/mysql_3306/data # 数据文件
mkdir /data/mysql/mysql_3306/logs # 日志文件
mkdir /data/mysql/mysql_3306/tmp  # 临时文件

下载MySQL压缩包

cd /opt/software
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz
# MySQL启动程序放置
cd /opt/mysql
tar zxvf /opt/software/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

创建 mysql 的环境变量目录

cd /usr/local/
ln -s /opt/mysql/mysql-5.6.27-linux-glibc2.5-x86_64 mysql

把mysql启动用的帐号创建出来

groupadd mysql
useradd -r -g mysql mysql  -d /usr/local/mysql 

修改权限

chown -R mysql:mysql /data/mysql/mysql_3306
cd /usr/local/mysql
chown –R mysql:mysql *

新建 /etc/my.cnf

# 文件内容如下
[client]
port            = 3306
socket          = /tmp/mysql.sock

# The MySQL server
[mysqld]
# Basic
port            = 3306
user        = mysql
basedir         = /usr/local/mysql
datadir         = /data/mysql/mysql3306/data
tmpdir          = /data/mysql/mysql3306/tmp
socket          = /tmp/mysql.sock

log-bin     = /data/mysql/mysql3306/logs/mysql-bin

log-error   = error.log
slow-query-log-file = slow.log
skip-external-locking
skip-name-resolve
log-slave-updates

###############################
# FOR Percona 5.6
#extra_port = 3345
gtid-mode = 0
#thread_handling=pool-of-threads
#thread_pool_oversubscribe=8
explicit_defaults_for_timestamp
###############################

server-id       =1003306

character-set-server = utf8
slow-query-log
binlog_format = mixed
max_binlog_size = 128M
binlog_cache_size = 1M
expire-logs-days = 5
back_log = 500
long_query_time=1
max_connections=1100
max_user_connections=1000
max_connect_errors=1000

wait_timeout=100
interactive_timeout=100

connect_timeout = 20
slave-net-timeout=30

max-relay-log-size = 256M
relay-log = relay-bin
transaction_isolation = READ-COMMITTED

performance_schema=0
#myisam_recover
key_buffer_size = 64M
max_allowed_packet = 16M
#table_cache = 3096
table_open_cache = 6144
table_definition_cache = 4096

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
query_cache_type=0
query_cache_size = 0
bulk_insert_buffer_size = 32M

thread_cache_size = 64
#thread_concurrency = 32
thread_stack = 192K
skip-slave-start

# InnoDB
innodb_data_home_dir = /data/mysql/mysql3306/data
innodb_log_group_home_dir = /data/mysql/mysql3306/logs
innodb_data_file_path = ibdata1:100M:autoextend

innodb_buffer_pool_size = 100M

innodb_buffer_pool_instances    = 8
#innodb_additional_mem_pool_size = 16M
innodb_log_file_size = 200M
innodb_log_buffer_size = 16M
innodb_log_files_in_group = 3
innodb_flush_log_at_trx_commit = 0
innodb_lock_wait_timeout = 10
innodb_sync_spin_loops = 40
innodb_max_dirty_pages_pct = 90
innodb_support_xa = 0
innodb_thread_concurrency = 0
innodb_thread_sleep_delay = 500
innodb_file_io_threads    = 4
innodb_concurrency_tickets = 1000
log_bin_trust_function_creators = 1
innodb_flush_method = O_DIRECT
innodb_file_per_table
innodb_read_io_threads = 16
innodb_write_io_threads = 16
innodb_io_capacity = 2000
innodb_file_format = Barracuda
innodb_purge_threads=1
innodb_purge_batch_size = 32
innodb_old_blocks_pct=75
innodb_change_buffering=all
innodb_stats_on_metadata=OFF

[mysqldump]
quick
max_allowed_packet = 128M
#myisam_max_sort_file_size = 10G

[mysql]
no-auto-rehash
max_allowed_packet = 128M
prompt                         = '(product)\u@\h [\d]> '
default_character_set          = utf8


[myisamchk]
key_buffer_size = 64M
sort_buffer_size = 512k
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
#malloc-lib= /usr/local/mysql/lib/mysql/libjemalloc.so

初始化数据库

# 先安装一个so文件
yum install -y libaio
cd /usr/local/mysql
./scripts/mysql_install_db 

启动

echo "PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
source /etc/profile

cp support-files/mysql.server /etc/init.d/mysql 
 /etc/init.d/mysql start  
 /etc/init.d/mysql stop
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值