Linux平台使用二进制包将MySQL 5.1安装到个人目录简易指南

1. 解压二进制包到个人目录,例如/home/liyh/local/mysql;

2. 拷贝一份系统目录的my.cnf配置(或者后面的配置样例也可以),按照如下方式修改:
2.1 将其中所有目录相关的配置全部改为个人目录,且要用绝对路径,不能用$HOME.  例如data, log(注意二进制包解压后缺省并没有log、tmp目录,需要自己手工创建),为了提高性能,建议数据目录和日志目录分开到不同的盘不同的目录,例如:
      datadir = /home1/liyh/mysql/data/
      log-error = /home/liyh/local/mysql/log/mysqld.err
      log-bin=/home/liyh/local/mysql/log/mysql-bin
      innodb_data_home_dir = /home1/liyh/mysql/data

2.2 修改[mysqld]下的port为你自己的端口;
2.3 修改[mysqld]下的user为你的用户名;

3. 将mysql的目录权限修改为你的用户,例如:
    chgrp -R liyh mysql;
    chown -R liyh mysql;
    chmod 775 mysql;

4.  到mysql目录下的scripts目录,执行如下语句:
   ./mysql_install_db --defaults-file=/home/liyh/local/mysql/my.cnf --user=liyh --basedir=/home/liyh/local/mysql
5. 执行如下语句启动:
   /home/liyh/local/mysql/bin/mysqld_safe --defaults-file=/home/liyh/local/mysql/my.cnf --basedir=/home/liyh/local/mysql &

【特别注意】为了提高InnoDB引擎的性能,记得一定要按照如下方式修改两个参数,否则你的MySQL insert和update慢得如蜗牛,但高性能同时也是有损失的,这样配置会降低MySQL的可靠性,某些场景下可能丢失数据,实际应用需要你自己评估是否要这样配置:
sync_binlog=0    1代表每次执行一条insert/update/delete都同步一下磁盘,0代表由操作系统决定何时同步磁盘,大于0代表达到多少条后再同步磁盘,如果可靠性要求较低,建议设置为0或者100以上
innodb_flush_log_at_trx_commit = 2   默认为1,意思是每次事务提交时都同步日志到磁盘,0代表每秒同步一次,事务提交时不同步,2代表只将事务日志写入缓存,每秒由系统同步磁盘;

==================配置样例如下====================================
[client]
port            = 19816
socket          = /home/liyh/local/mysql/tmp/mysql.sock
default-character-set = utf8

[mysqld]
character-set-server = utf8
port            = 19816
socket          = /home/liyh/local/mysql/tmp/mysql.sock
user    = liyh
skip-external-locking
datadir = /home1/liyh/mysql/data/
log-error = /home/liyh/local/mysql/log/mysqld.err
pid-file = /home/liyh/local/mysql/tmp/mysql.pid
#autocommit = off
#read-only

key_buffer_size = 64M
myisam_sort_buffer_size = 300M
max_allowed_packet = 16M
table_open_cache = 4096
sort_buffer_size = 5M
join_buffer_size = 5M
read_buffer_size = 5M
read_rnd_buffer_size = 8M
bulk_insert_buffer_size = 64M
query_cache_size = 8M
query_cache_limit=8M
query_cache_min_res_unit = 2k
tmp_table_size=64M
max_heap_table_size = 128M

open_files_limit=102400
thread_concurrency = 16
max_connections=3000
max_connect_errors=3000
back_log = 600
table_cache = 4096
thread_cache_size = 100
thread_stack = 192K
#transaction_isolation = READ-COMMITTED

skip-name-resolve

####log variables
server-id       = 1
binlog_format=mixed
#log-slave-updates
log-bin=/home/liyh/local/mysql/log/mysql-bin
relay_log=/home/liyh/local/mysql/log/relay-bin
max_binlog_size = 500M
binlog_cache_size = 1M
max_binlog_cache_size = 64M
#binlog-ignore-db = mysql
replicate-ignore-db = mysql
expire-logs-days = 10
sync_binlog=0

slow_query_log=1
slow_query_log_file=/home/liyh/local/mysql/log/slowquery.log
long_query_time=1
general_log=off
general_log_file=/home/liyh/local/mysql/log/general.log
#relay_log_purge=OFF

# Point the following paths to different dedicated disks
#tmpdir         = /tmp/
#log-update     = /path-to-dedicated-directory/hostname

#auto_increment_increment=1
#auto_increment_offset=1

####innodb variables
#skip-innodb
innodb_data_home_dir = /home1/liyh/mysql/data
innodb_data_file_path = ibdata1:2000M;ibdata2:100M:autoextend
innodb_log_group_home_dir = /home1/liyh/mysql/data
#innodb_log_arch_dir = /home/liyh/local/mysql/data/
innodb_buffer_pool_size = 2048M
innodb_additional_mem_pool_size = 64M
innodb_log_file_size = 200M
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 3
innodb_flush_log_at_trx_commit = 2
#innodb_file_io_threads = 4
innodb_thread_concurrency = 16
default-storage-engine=innodb
#innodb_max_dirty_pages_pct = 90
#innodb_lock_wait_timeout = 60
#innodb_file_per_table = 0

#interactive_timeout = 600
#wait_timeout = 900

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 5M
write_buffer = 5M

[mysqlhotcopy]
interactive-timeout

时间: 2024-07-30 11:21:28

Linux平台使用二进制包将MySQL 5.1安装到个人目录简易指南的相关文章

Linux平台使用源码安装MySQL 5.1到个人目录简易指南

1. 解压源码到个人目录: 2. 执行如下命令进行configure,注意源码默认情况下不支持innodb,必须使用--with-plugins手工指定(二进制包默认已经支持): ./configure --prefix=$HOME/local/mysql-5154 --with-extra-charsets=latin1,gbk,utf8 --with-plugins=partition,heap,innobase,myisam,myisammrg,csv 3. 执行如下命令编译和安装 mak

《OpenStack实战指南》—— 2.1 在Ubuntu上使用二进制包安装

2.1 在Ubuntu上使用二进制包安装 笔者写本书的时候,OpenStack已经发展到Havana版本,几大主流的Linux发行版本都会将OpenStack的源代码做成各自平台的二进制安装包,以供用户使用.随着OpenStack使用的人越来越多,发行版本对Linux的支持力度也越来越大,就目前来看,Ubuntu(Debian).RedHat.OpenSUSE都有相应的包和开发定制的安装程序.当然,各个Linux平台上的包制作发布的时间各有快慢,同时支持的版本更新也有快有慢.Ubuntu是更新最

5个给Linux新手的最佳包管理器

一个 Linux 新用户应该知道他或她的进步源自于对 Linux 发行版的使用,而 Linux 发行版有好几种,并以不同的方式管理软件包. 在 Linux 中,包管理器非常重要,知道如何使用多种包管理器可以让你像一个高手一样活得很舒适,从在仓库下载软件.安装软件,到更新软件.处理依赖和删除软件是非常重要的,这也是Linux 系统管理的一个重要部分. 成为一个 Linux 高手的一个标志是了解主要的 Linux 发行版如何处理包,在这篇文章中,我们应该看一些你在 Linux 上能找到的最佳的包管理

5 个给 Linux 新手的最佳包管理器

一个 Linux 新用户应该知道他或她的进步源自于对 Linux 发行版的使用,而 Linux 发行版有好几种,并以不同的方式管理软件包. 在 Linux 中,包管理器非常重要,知道如何使用多种包管理器可以让你像一个高手一样活得很舒适,从在仓库下载软件.安装软件,到更新软件.处理依赖和删除软件是非常重要的,这也是Linux 系统管理的一个重要部分. 最好的Linux包管理器 成为一个 Linux 高手的一个标志是了解主要的 Linux 发行版如何处理包,在这篇文章中,我们应该看一些你在 Linu

Linux平台卸载MySQL总结

    如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).RPM包安装.源码安装.对应不同的安装方式,卸载的步骤有些不同.文章中如有不足或不对的地方,敬请指出或补充!   RPM包安装方式的MySQL卸载   1: 检查是否安装了MySQL组件. [root@DB-Server init.d]# rpm -qa | grep -i mysql   M

Linux MySQL源码安装缺少ncurses-devel包

在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel."错误,如下所示 [root@DB-Server mysql-5.6.23]# cm

linux中安装mysql5.5二进制包步骤详解

今天给大家讲下了怎么安装mysql二进制包,这样避免在自己测试环境中还要去编译安装,浪费大量的时间,好了,来看教程吧.   系统:centos 5.x   需要的软件包:mysql-5.5.33-linux2.6-i686.tar.gz 1.下载mysql二进制包  代码如下 复制代码 wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.33-linux2.6-i686.tar.gz 2.安装mysql  代码如下 复制代码 tar z

在linux平台实现atosl

原文出自[听云技术博客]:http://blog.tingyun.com/web/article/detail/1342 序言 怎么在linux 平台下实现一个类似于mac 平台下的 atos 工具( iOS 符号化解析)? 分析问题 在github上找到了几年前的开源实现,[https://github.com/dechaoqiu/atosl](https://github.com/dechaoqiu/atosl) 编译出来的atosl工具平常很大几率是工作正常的,只有在特殊情况下会出现解析错

Linux平台Swift语言开发学习环境搭建

1.序言 这两天一直忙,没来得及记录东西,周三12月4日凌晨1点多看到苹果正式开源了Swift,国外各大媒体资讯动作超级快.我也兴奋的起来看了一遍关于Swift开源的最新消息.众所周知,苹果平台的Swift语言已经出来了一年半了,一直在成长,经历了好几个版本.许多人盼望的swift开源是希望可以在除了苹果平台之外的平台可以运用这个新语言.比如有人希望将来可以用swift也可以撸一撸后台开发之类,理论上是没问题的,但是同样也有人会喷这么一个愿景,但是开源一出后,多多少少社区人员会去往这个方面去努力