mysql on linux 安装_MySQL on Linux 部署手册

1.背景

MySQL为开源数据库,因此可以基于源码实现安装。基于源码安装有更多的灵活性。也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编译参数,选择自身需要选择不同的安装组件,设定需要的字符集等等一些可以根据特定应用场景所作的各种调整。本文描述了如何在源码方式下安装MySQL

2.安装依赖包

#yum install wget bison gcc gcc-c++ make cmake ncurses-devel libtool zilib-devel perl -y

3.配置OS资源限制

#vi /etc/security/limits.conf

mysql soft nproc 2047mysql hard nproc16384mysql soft nofile1024mysql hard nofile65536

4.配置OS防火墙

建议按业务场景设置,我这里先清掉

#service iptables stop;chkconfig iptables off

selinux如果没有这方面的需求,建议禁用

#vi /etc/sysconfig/selinux

SELINUX=disabled

SELINUXTYPE=targeted

5.创建mysql帐号和用户组

#groupadd mysql#useradd -g mysql mysql

6. 创建安装目录

#mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,logs,redo-log,undo-log},backup,scripts}#chown -R mysql:mysql /data/mysqldata

7. 安装mysql软件

#tar -zxvf mysql-5.6.15.tar.gz#cd mysql-5.6.15#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 \

-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DENABLED_LOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_FEDERATED_STORAGE_ENGINE=1\-DWITH_BLACKHOLE_STORAGE_ENGINE=1\-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\-DWITH_PARTITION_STORAGE_ENGINE=1\-DWITH_PERFSCHEMA_STORAGE_ENGINE=1\-DCOMPILATION_COMMENT='LOTTU' \-DWITH_READLINE=ON \-DSYSCONFDIR=/data/mysqldata/3306\-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock

若编译过程总出现错误或者参数变更要重新配置,用通过rm删除源码包下的Cmakecache.txt文件重新执行cmake;或者直接删除源码目录重新解压缩并进行编译配置。

#make && make install

make是用来编译的,它从Makefile中读取指令,然后编译

make install是用来安装的,它也是从Makefile中读取指令,将软件安装到指定的位置。

常用参数:

-DCMAKE_INSTALL_PREFIX:用于指定软件的安装路径。默认安装到/usr/local/mysql下。

-DDEFAULT_CHARSET 指定mysql服务的默认字符集。默认为latin1,也可以在mysql服务启动时通过指定character_set_server参数进行设置

-DDEFAULT_COLLATION 指定mysql服务的默认校对规则,本参数的默认值为latin1_swedish_ci也可以在启动时通过colloation_server参数进行设置

-DENABLED_LOCAL_INFILE 是否允许从客户端本地加载数据到mysql服务端,专用于LOAD DATA INFILE语句,默认是不允许的。

-DENABLED_PROFILING 是否启动query profiling 专用于show profile和show profiles语句,默认是启用的。

-DMYSQL_DATADIR 指定mysql数据库数据文件的存储路径,这一选项可在mysql服务启动时通过datadir参数进行配置

-DSYSCONFDIR 指定mysql参数文件的默认位置,可在mysql服务启动时通过default-file参数进行设置。

-DWITH_xxx_STORAGE_ENGINE 静态编译某存储引擎。MyISAM、MERGE、MEMORY及CSV存储引擎默认就会被编译只服务端无需指定。另外PARTITION指定是否允许支持分区,PERFSCHEMA则是Performance_schema库

-DWITHOUT_xxx_STORAGE_ENGINE 用于指定不编译的存储引擎

-DWITH_EXTRA_CHARSETS 指定附加支持的字符集,默认是all全部

-DINSTALL_BINDIR 指定mysql各项命令的存储路径,默认在CMAKE_INSTALL_PREFIX/bin下

-DINSTALL_DOCDIR 指定mysql文档的存储路径 默认在CMAKE_INSTALL_PREFIX/docs下

-DINSTALL_INCLUDERDIR 指定头文件的存储路径 默认在CMAKE_INSTALL_PREFIX/include下

-DINSTALL_LIBDIR 指定链接文件的存储路径 默认在CMAKE_INSTALL_PREFIX/lib下

-DINSTALL_MANDIR 指定用户手册的存储路径 默认在CMAKE_INSTALL_PREFIX/man下

-DINSTALL_PLUGINDIR 指定Plugin的存储路径 默认在CMAKE_INSTALL_PREFIX/plugin下

-DINSTALL_SBINDIR 指定服务端执行脚本的存储路径 默认在CMAKE_INSTALL_PREFIX/bin下

-DINSTALL_SCRIPTDIR 指定mysql自带的mysql_install_db脚本的存储路径 默认在CMAKE_INSTALL_PREFIX/scripts下

-DINSTALL_SQLBENCHDIR 指定sql-bench存储路径 默认在CMAKE_INSTALL_PREFIX下

-DINSTALL_SUPPORTFILESDIR 指定mysql自带的附加支持类文件的存储路径 默认在CMAKE_INSTALL_PREFIX/support-files

-DMYSQL_TCP_PORT 指定mysql数据库提供服务的TCP/IP端口 默认3306。可在mysql启动时通过port参数进行设置。

-DMYSQL_UNIX_ADDR 指定套接字文件的存储路径 默认在/tmp/mysql.sock目录下,可在mysqk服务启动时通过socket参数进行设置

-DCOMPILATION_COMMENT 指定编译信息

-DWITH_READLINE 指定输入输出的处理方式,在5.1之前版本无需单独处理,默认就是使用readline方式,5.5之后MYSQL编译时默认使用

libedit处理输入和输出,可能导致当前环境登录mysql命令行模式后无法输入中文(仅针对当前编译环境,其他客户端不受影响)因此编译时需要指定其以readline方式处理

mysql软件安装完成;

8. 安装软件后续工作

#chown -R mysql:mysql /usr/local/mysql56#vi /home/mysql/.bash_profile

export LANG=zh_CN.GB18030

export PATH=/usr/local/mysql56/bin:$PATH

9. 配置参数文件

在/data/mysqldata/3306目录下;创建my.cnf文件

#vi /data/mysqldata/3306/my.cnf

[client]

port=3306socket=/data/mysqldata/3306/mysql.sock#The MySQL server

[mysqld]

port=3306user=mysql

socket=/data/mysqldata/3306/mysql.sock

pid-file=/data/mysqldata/3306/es_mysql1.pid

basedir=/usr/local/mysql56

datadir=/data/mysqldata/3306/data

tmpdir=/data/mysqldata/3306/tmp

open_files_limit=500explicit_defaults_for_timestamp

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES#Buffer

max_allowed_packet=32M

max_heap_table_size=32M

net_buffer_length=8k

sort_buffer_size=2M

join_buffer_size=4M

read_buffer_size=2M

read_rnd_buffer_size=16M#log

log-bin=/data/mysqldata/3306/binlog/mysql-bin

binlog_cache_size=16M

max_binlog_cache_size=64M

max_binlog_size=64M

binlog_format=row

log_output=FILE

log-error=/data/mysqldata/3306/logs/mysql-error.log

slow_query_log=1slow_query_log_file=/data/mysqldata/3306/logs/slow_query.log

general_log=0general_log_file=/data/mysqldata/3306/logs/general_query.log

expire-logs-days=14

#InnoDB

innodb_data_file_path=ibdata1:1024M:autoextend

innodb_log_file_size=32M

innodb_log_files_in_group=6innodb_buffer_pool_size=128M

sync_binlog= 8innodb_buffer_pool_load_at_startup= 1innodb_buffer_pool_dump_at_shutdown= 1innodb_log_group_home_dir=/data/mysqldata/3306/redo-log/innodb_undo_directory=/data/mysqldata/3306/undo-log/[mysql]

no-auto-rehash

prompt=(\u@\h) [\d]>\default-character-set=gbk

参数可以到网上找查考..本环境是在虚拟机上面搭建的。

10. 初始化mysql数据库

#/usr/local/mysql56/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql56

11. 启动mysql数据库

#mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &

12. 配置mysql

delete from mysql.user where (user,host) not in (select 'root','localhost');update mysql.user set user='system',password=password('li0924');

flushprivileges;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值