Instalando o MySQL
Realize o download e descompactação do MySQL com os comandos abaixo
|
1
2
3
|
wget http://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.47-linux2.6-x86_64.tar.gztar -zxvf mysql-5.5.47-linux2.6-x86_64.tar.gz -C /usr/localln -sf /usr/local/mysql-5.5.47-linux2.6-x86_64 /usr/local/mysql |
Copie o script de inicialização do MySQL
|
1
|
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql |
Edite o arquivo /etc/init.d/mysql alterando as linhas conforme exemplo abaixo
|
1
2
|
basedir=/usr/local/mysqldatadir=/databases/mysql/bases |
Crie o arquivo /databases/mysql/my.cnf com o conteúdo abaixo
|
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
## Helvio Junior – my.cnf template### my.cnf[client]port = 3306socket = /databases/mysql/mysql.sock[mysqld_safe]open_files_limit = 1024000basedir = /usr/local/mysqltimezone = America/Sao_Paulosocket = /databases/mysql/mysql.socknice = 0# Diretório de logs e consultas lentaslog-error = /databases/mysql/logs/error.logpid-file = /databases/mysql/bases/mysql.pid[mysqld]open_files_limit = 1024000general_log = 0log_warnings = 1general_log_file = /databases/mysql/logs/mysqld.loglog-error = /databases/mysql/logs/error.loglog-slow-admin-statements = 0#Consultas lentaslong_query_time = 5log-slow-queries = /databases/mysql/logs/mysql-slow.loglog-queries-not-using-indexes = 0user = mysqlpid-file = /databases/mysql/bases/mysql.pidsocket = /databases/mysql/mysql.socketport = 3306basedir = /usr/local/mysqldatadir = /databases/mysql/bases/tmpdir = /databases/mysql/tmpdirlc-messages-dir = /usr/local/mysql/share/# Performance Analsysperformance_schema = off# Desativa o LOAD FILElocal-infile = 0old_passwords=0# 0x = MASTER# 1x = Slave Level 1# 2x = Slave em baixo de Slaveserver-id=01# Master Setup (Caso tenha replicação)#binlog_format = ROW#log-bin = /databases/mysql/binlog/mysql-bin#log_slave_updates = 1#log_bin_trust_function_creators = 1#expire_logs_days = 1# Configuracoes Diversas#Compatibilidadesql_mode = ''skip-name-resolvemax_connections = 10000query_cache_size = 80Mquery_cache_min_res_unit = 2Kquery_cache_type = 1sort_buffer_size = 2Mread_buffer_size = 128kjoin_buffer_size = 5Mmyisam_sort_buffer_size = 128Mbulk_insert_buffer_size = 128Mmax_allowed_packet = 1Gthread_cache_size = 100table_cache = 512# Tabelas temporárias# Configura o tamanho maximo para tabela do tipo MEMORYmax_heap_table_size = 1G# Configura o tamanho maximo antes de converter para MyISAMtmp_table_size = 1G# Federated Store Enginefederated# MyISAM Store Engine# depreciado...key_buffer = 256Mmyisam_repair_threads = 1myisam_recover = FORCE# InnoDB (Default)# Depreciado na 5.6 - Armazena dicionario de dados na raminnodb_additional_mem_pool_size = 16M# BUFFER POOL## Alterar este valor para +- 80 da memória do servidorinnodb_buffer_pool_size = 1G# Segregacao do buffer_pool - Performance para algoritmo LRU (qtd cpu)innodb_buffer_pool_instance = 6# Redo Loginnodb_log_buffer_size = 1Ginnodb_log_group_home_dir = /databases/mysql/innologinnodb_log_files_in_group = 7innodb_log_file_size = 512M# Manipulacao de arquivosinnodb_open_files = 1024000innodb_file_per_table = 1innodb_data_file_path = ibdata1:1G:autoextendinnodb_data_home_dir=/databases/mysql/bases/# O_DIRECT para fazer by-pass (O EBS controla)innodb_flush_method = O_DIRECTinnodb_file_format = BARRACUDA# QTD de IOPS que esta disponível para o datadirinnodb_io_capacity = 1000# Controle Transacionaltransaction-isolation=READ-COMMITTEDinnodb_support_xa = 0# Qtd de segundos antes de um Lock wait timeout exceededinnodb_lock_wait_timeout = 120 |
Altere o parâmetro innodb_buffer_pool_size deste arquivo recém criado para um valor de +- 80% da memória do ser servidor.
Crie um link simbólico do arquivo de configuração para o diretório /etc
|
1
|
ln -s /databases/mysql/my.cnf /etc/my.cnf |
Crie as bases de dados iniciais do MySQL
|
1
2
|
cd /usr/local/mysqlscripts/mysql_install_db --datadir=/databases/mysql/bases/ --basedir=/usr/local/mysql |
Configure para que o MySQL inicie automaticamente na inicialização do sistema operacional e inicie o serviço
|
1
2
|
update-rc.d -f mysql defaultsservice mysql start |
Por questões de segurança, altere a senha padrão do usuário root do banco de dados
|
1
|
/usr/local/mysql/bin/mysqladmin -u root password 'new-password' |
Pronto, o seu servidor de MySQL está instalado e pronto para uso.
Caso deseje outras otimizações não citadas neste post segue uma sugestão se referência para consulta: http://blog.neweb.co/pt/how-to-optimize-a-mysql-server/
http://www.helviojunior.com.br/it/mysql/instalando-e-otimizando-mysql-para-alto-trafego-de-dados/