您的位置:首页 > 数据库 > MySQL

二进制安装MySQL

2016-01-27 16:34 399 查看
一.下载MySQL

官网下载MySQL 地址:http://www.mysql.com/downloads/ 



点击社区版本MySQL





选择MySQL版本



选择操作系统



点击Download下载MySQL



PS:也可以通过wget下载

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz
http://mirrors.sohu.com/
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz
二.安装MySQL
环境

# cat /etc/redhat-release 

CentOS release 6.5 (Final)

# mysql -V

mysql  Ver 14.14 Distrib 5.6.29, for linux-glibc2.5 (x86_64) using  EditLine wrapper

1.解压二进制安装包创建硬链接 

# mkdir -pv /opt/mysql

#tar -xvf mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz

cd /usr/local/

# ln -s /opt/mysql/mysql-5.6.29-linux-glibc2.5-x86_64  mysql

2.新建mysql用户,用户组,指定homedir

#groupadd mysql
#mkdir -pv /data/mysql/mysql_3376/{data,logs,tmp}

#useradd  mysql -g mysql -d /data/mysql/mysql_3376/ -s /dev/null

# chown -R mysql:mysql  /data/mysql/mysql_3376/

# chown -R mysql:mysql /usr/local/mysql/

# chown -R mysql:mysql /opt/mysql/

3.新建配置文件/etc/my.cnf 

[client]

port            = 3376

socket          = /tmp/mysql.sock

# The MySQL server

[mysqld]

# Basic

port            = 3376

user        = mysql

basedir         = /usr/local/mysql

datadir         = /data/mysql/mysql3376/data

tmpdir          = /data/mysql/mysql3376/tmp

socket          = /tmp/mysql.sock

log-bin     = /data/mysql/mysql3376/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       =43376

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/mysql3376/data

innodb_log_group_home_dir = /data/mysql/mysql3376/logs

innodb_data_file_path = ibdata1:1024M: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

PS:如果在现有配置文件修改可以选择

# sed -i 's/3306/3376/g' my.cnf 

验证下

[root@localhost etc]# grep 3376 my.cnf 

# grep 3376 /etc/my.cnf 

port            = 3376

port            = 3376

datadir         = /data/mysql/mysql_3376/data

tmpdir          = /data/mysql/mysql_3376/tmp

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

server-id       =43376

innodb_data_home_dir = /data/mysql/mysql_3376/data

innodb_log_group_home_dir = /data/mysql/mysql_3376/logs

MySQL配置文件结构

client:对mysql的所有客户端都生效

mysql:只对mysql这个命令有效

mysqld_multi:多实例启动

mysqld:是必须的配置选项 

4.初始化datadir
# ./scripts/mysql_install_db

PS:因为在/etc/my.cnf 指定了user和datadir所以直接执行初始化脚本即可

 

5.添加环境变量

#echo 'export MySQL_HOME=/usr/local/mysql' >> /etc/profile
#echo 'export PATH=$PATH:$MySQL_HOME/bin' >> /etc/profile

# source /etc/profile

# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

6.启动

#pwd
/usr/local/mysql/support-files

# cp mysql.server  /etc/init.d/mysql

# /etc/init.d/mysql start

Starting MySQL.. SUCCESS! 

7.安全加固

> delete from mysql.user where user!='root' or host!='localhost';

> truncate table mysql.db;

> drop database test;

> flush privileges;

8.检查启动是否正常

# ps -ef |grep mysql

root      6432     1  0 02:41 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/da
9de8
ta/mysql/mysql_3376/data --pid-file=/data/mysql/mysql_3376/data/mysql.pid

mysql     7511  6432  0 02:41 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3376/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql_3376/data/error.log --pid-file=/data/mysql/mysql_3376/data/mysql.pid
--socket=/tmp/mysql3376.sock --port=3376

root      7562  3102  0 02:49 pts/1    00:00:00 grep mysql

# netstat -nlp | grep mysql

tcp        0      0 :::3376                     :::*                        LISTEN      7511/mysqld         

unix  2      [ ACC ]     STREAM     LISTENING     32002  7511/mysqld         /tmp/mysql3376.sock

查看error.log是否有报错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: