原文出自http://www.ttlsa.com/mysql/install-mysql5_6/
1. 安装必要的组件
2. 下载解压mysql软件
2
3
4
5
|
# cd /usr/local/src
# wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz
/from/http://cdn.mysql.com/ -O mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz
# tar zxvf mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz –C ../
# cd /usr/local/
# ln -s mysql-5.6.14-linux-glibc2.5-x86_64 mysql
|
3. 创建Mysql用户组和用户,及数据库存放目录:
1
2
3
4
5
6
7
|
# mkdir -p /data/mysql_data_3306
# mkdir -p /data/mysql_log
# mkdir -p /data/log-bin
# groupadd mysql
# useradd mysql -g mysql -M -s /sbin/nologin
# chown -R mysql.mysql /data/mysql_data_3306 /data/mysql_log /data/log-bin
# chown -R mysql.mysql /usr/local/mysql-5.6.14-linux-glibc2.5-x86_64
|
# vi /etc/my.cnf
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
|
[
mysqld
]
# GENERAL #
user
=
mysql
default
-
storage
-
engine
=
InnoDB
socket
=
/
data
/
mysql_data_3306
/
mysql
.
sock
pid
-
file
=
/
data
/
mysql_data_3306
/
mysql
.
pid
port
=
3306
# MyISAM #
key_buffer_size
=
1344M
myisam_recover
=
FORCE
,
BACKUP
# SAFETY #
max_allowed_packet
=
16M
max_connect_errors
=
1000000
skip_name_resolve
# DATA STORAGE #
datadir
=
/
data
/
mysql_data_3306
/
long_query_time
=
1
# BINARY LOGGING #
log
-
bin
=
/
data
/
log
-
bin
/
mysql
-
bin
-
3306
expire
-
logs
-
days
=
14
sync
-
binlog
=
1
server
-
id
=
1
max_binlog_size
=
500M
# REPLICATION #
relay
-
log
=
/
data
/
log
-
bin
/
relay
-
bin
-
3306
slave
-
net
-
timeout
=
60
# CACHES AND LIMITS #
tmp_table_size
=
32M
max_heap_table_size
=
32M
max_connections
=
500
thread_cache_size
=
50
open_files_limit
=
65535
table_definition_cache
=
4096
table_open_cache
=
4096
# INNODB #
innodb_data_file_path
=
ibdata1
:
128M
;
ibdata2
:
10M
:
autoextend
innodb_flush_method
=
O_DIRECT
innodb_log_files_in_group
=
2
innodb_lock_wait_timeout
=
50
innodb_log_file_size
=
256M
innodb_flush_log_at_trx_commit
=
1
innodb_file_per_table
=
1
innodb_thread_concurrency
=
8
innodb_buffer_pool_size
=
8G
# LOGGING #
log
-
error
=
/
data
/
mysql_log
/
mysql
-
error
-
3306.log
log
-
queries
-
not
-
using
-
indexes
=
1
slow
-
query
-
log
=
1
long_query_time
=
1
slow
-
query
-
log
-
file
=
/
data
/
mysql_log
/
mysql
-
slow
-
3306.log
# FOR SLAVE #
#binlog-format = ROW
#log-slave-updates = true
#gtid-mode = on
#enforce-gtid-consistency = true
#master-info-repository = TABLE
#relay-log-info-repository = TABLE
#sync-master-info = 1
#slave-parallel-workers = 2
#binlog-checksum = CRC32
#master-verify-checksum = 1
#slave-sql-verify-checksum = 1
#binlog-rows-query-log_events = 1
#report-port = 3306
#report-host = 10.1.1.10
|
5. 系统服务
1
2
3
4
5
6
7
8
9
10
|
# cp -af /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld_3306
# vi /etc/init.d/mysqld_3306
修改两处位置:
basedir
=
/
usr
/
local
/
mysql
datadir
=
/
data
/
mysql_data
_3306
执行如下命令
# chmod 755 /etc/init.d/mysqld_3306
# chkconfig --add mysqld_3306
# chkconfig --level 345 mysqld_3306 on
|
1
2
|
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
|
1
|
# service mysqld_3306 start
|
1
2
3
4
|
# /usr/local/mysql/bin/mysql -p -uroot -S /tmp/mysql.sock #这里直接回车就能进入数据库系统
Mysql
>
delete
from
mysql
.
user
where
user
=
''
;
Mysql
>
update
mysql
.
user
set
password
=
PASSWORD
(‘
xxxxxxxx’
)
where
user
=
'root'
;
Mysql
>
flush
privileges
;
|
ln -s /usr/local/mysql/bin/mysql /usr/bin
mysql --socket=/tmp/mysql.sock
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
/etc/my.cnf里的socket路径