Mysql5.6安装-linux下安装二进制包

时间:2022-01-22 20:58:37
1 安装前准备
    清理系统自带或通过yum及apt-get安装的mysql相关文件,如/etc/my.cnf  /etc/mysql/,否则安装过程中可能会遇到一些问题
rm -rf /etc/my.cnf  /etc/mysql/

    安装共享库libaio

[root@localhost /]# apt-get install libaio1

2 文件夹功能介绍

    解压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 安装过程

    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
Mysql5.6安装-linux下安装二进制包

    一些解释:
    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安装-linux下安装二进制包
    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 
Mysql5.6安装-linux下安装二进制包

Mysql5.6安装-linux下安装二进制包

4 配置文件my.cnf

    更改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

****************************************************************************************
    原文地址:http://blog.csdn.net/jesseyoung/article/details/41011845
    博客主页:http://blog.csdn.net/jesseyoung
****************************************************************************************