rm -rf /etc/my.cnf /etc/mysql/
安装共享库libaio
[root@localhost /]# apt-get install libaio1
解压mysql安装包
[root@localhost /]# tar xzvf /opt/mysql-5.6.19-linux-glibc2.5-x86_64.tar.gz
解压缩后可以看到包换如下文件夹
[root@localhost mysql -5.6.19-linux-glibc2.5-x86_64]# ll
total 140
drwxr-xr-x. 2 root root 4096 Nov 11 00:57 bin
drwxr-xr-x. 3 root root 4096 Nov 11 00:58 data
drwxr-xr-x. 2 root root 4096 Nov 11 00:57 docs
drwxr-xr-x. 3 root root 4096 Nov 11 00:57 include
drwxr-xr-x. 3 root root 4096 Nov 11 00:58 lib
drwxr-xr-x. 4 root root 4096 Nov 11 00:58 man
drwxr-xr-x. 10 root root 4096 Nov 11 00:58 mysql-test
drwxr-xr-x. 2 root root 4096 Nov 11 00:58 scripts
drwxr-xr-x. 28 root root 4096 Nov 11 00:58 share
drwxr-xr-x. 4 root root 4096 Nov 11 00:57 sql-bench
drwxr-xr-x. 2 root root 4096 Nov 11 00:58 support-files
bin目录包含客户端工具及mysqld
data目录存放数据库数据文件及日志文件
docs目录包含info格式的用户手册
include目录包含mysql头文件
lib目录包含相关lib库
mysql-test目录包含mysql的一些测试脚本文件
scripts目录存放mysql_install_db初始化文件
share目录存放各种支持文件,包括错误信息,语言编码支持,sql安装脚本等。
sqlbench目录存放benchmark脚本
support-file目录存放mysql配置文件模板
3.1 权限设置
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql
[root@localhost /]# ln -s /opt/mysql-advanced-5.6.19-linux-glibc2.5-x86_64 /usr/local/mysql
[root@localhost /]# chown -R mysql /usr/local/mysql/.
[root@localhost /]# chgrp -R mysql /usr/local/mysql/.
[root@localhost /]# cd /usr/local/mysql
一些解释:
groupadd:创建用户组
useradd:创建用户,在此创建的mysql用户只是用来控制文件的权限,可以使用“-r”参数,让该用户不需要登录。
ln -s:创建软连接。我们可以把mysql解压到任何我们想要解压的地方,通过软连接我们总能与之对应。
chown,chgrp:通过这两个命令,使/usr/local/mysql/文件夹下的目录及文件所有者及所属组均为mysql。
3.2 初始化
[root@localhost /]# cd /usr/local/mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql 注:运行初始化脚本需在mysql安装目录下。
3.3 启动mysqld
[root@localhost mysql]# chown -R root /usr/local/mysql/.
[root@localhost mysql]# chown -R mysql /usr/local/mysql/data
[root@localhost mysql]# cp /usr/local/mysql/my.cnf /etc/my.cnf 编辑/etc/my.cnf,参考下一节(配置文件my.cnf),编辑完后启动mysqld
[root@localhost mysql]# bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
mysql5.6安装并启动成功!
3.4 加入开机启动及环境变量
加入开机启动
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
[root@localhost mysql]# chkconfig --add mysql.server
[root@localhost mysql]# chkconfig --level 35 mysql.server on
[root@localhost mysql]# chkconfig | grep mysql.server
mysql.server 0:off 1:off 2:on 3:on 4:on 5:on 6:off
或者在某些操作系统,如ubuntu下,执行如下命令也可。
[root@localhost mysql]# update-rc.d mysql.server defaults
后续再启停mysqld通过/etc/init.d/mysql.server即可,如。
[root@localhost /]# /etc/init.d/mysql.server restart
加入环境变量
将export PATH="$PATH:/usr/local/mysql/bin"加入到/etc/profile文件里,并使之生效(在shell下执行source /etc/profile)
3.5 执行安全配置
[root@localhost /]# /usr/local/mysql/bin/mysql_secure_installation
更改my.cnf内容如下(暂未优化)
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
socket = /tmp/mysql.sock
innodb_buffer_pool_size = 512M
#performance_schema_max_table_instances=400
#table_definition_cache=400
#table_open_cache=256
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 一些解释:
sql_mode:
mysql5.0以上版本sql_mode模式最主重要的有三种:ANSI、TRADITIONAL和STRICT_TRANS_TABLES。
ANSI模式:宽松模式,该模式可以改变语法或行为使之更加符合标准sql。
TRADITIONAL模式:严格模式,使mysql表现的更像传统的sql数据库系统,当向mysql数据库插入错误数据时,报error错误而非warning。用于事物时,会进行事物的回滚。
STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,包含错误数据的语句直接被终止。
其余的sql_mode模式也有很多,比如NO_ENGINE_SUBSTITUTION,enable的话,如果create或alter指定的存储引擎不可用,则语句执行失败,并报错。disable的话,如果指定存储引擎不可用,create table语句会执行成功,只是报warning,alter语句也报warning,且表没有改变。
内存使用限制:
调整以下参数可以有效降低mysql5.6对内存的占用(系统内存资源有限时使用)
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256
performance_schema_max_table_instances=400
检测表对象的最大值 (全局,非动态变量) 默认值:-1(自动调整大小)
table_definition_cache=400
可存放于定义缓存中的表定义(全局,动态变量)范围:400 .. 524288,默认值:-1(自动调整大小)
table_open_cache=256
所有线程可以打开表的数量(全局,动态变量)范围:1 .. 524288,默认值:2000
****************************************************************************************