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. 执行如下命令编译和安装
make
make install

4. 如果MySQL服务器运行的用户不是你的登录用户,则需要创建用户,并修改目录权限
4.1 增加用户组和用户
groupadd yourgroup
useradd -g yourgroup yourname
4.2 修改安装目录的权限
chown -R yourname yourdir
chgrp -R yourname yourdir

5. 制定配置文件,拷贝后面的配置样例,然后按照如下方式修改:
5.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

5.2 修改[mysqld]下的port为你自己的端口;
5.3 修改[mysqld]下的user为你的用户名,即第4步创建的用户;

6. 按照如下方式进行初始化
进入安装目录下的bin目录,执行如下语句,其中--defaults-file是你在第5步配置的的配置文件,--user是你的用户名,--basedir是你的安装目录,即第2步命令中的--prefix参数指定的目录
./mysql_install_db  --defaults-file=/home/liyh/local/mysql-5154/my.cnf --user=liyh --basedir=/home/liyh/local/mysql-5154

7. 按照如下方式启动

/home/liyh/local/mysql-5154/bin/mysqld_safe --defaults-file=/home/liyh/local/mysql-5154/my.cnf --basedir=/home/liyh/local/mysql-5154
&

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

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-10-14 06:13:14

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

linux平台从源码安装git【转】

转自:http://blog.csdn.net/lianshaohua/article/details/50571560 版权声明:本文为博主原创文章,未经博主允许不得转载. 如果是ubuntu等能自动安装软件的系统,就甭听我废话了,ubuntu安装软件实在是太方便了. 当下最流行的版本管理工具莫过于Git了,他的流行不仅是源于他的历史,还源于他的方便及强大的功能,本人曾经用过vss.cvs.cc.svn,自从接触git后,发现git真的是太方便,太强大了,不过由于我的Linux 发布的比较早,

CentOS 7中源码安装MySQL 5.7.6+详细教程_Mysql

配置说明      Linux版本:Centos7      MySQL版本:MySQL5.7.16      该文档适用于MySQL版本>=5.7.6 一.卸载CentOS7默认携带的mariadb包 # 检查mariadb安装包 [root@wing ~]# rpm -qa | grep -i mysql [root@wing ~]# rpm -qa | grep -i mariadb mariadb-libs-5.5.50-1.el7_2.x86_64 # 卸载mariadb安装包 [ro

源码安装 mysql 5.5.20升级到mysql 5.6.25

环境: centos 6.5  64 mysql 5.5.20 升级 5.6.25 mysql 5.5.20安装参考: http://blog.csdn.net/u010098331/article/details/50730391 mysql 5.6.25安装参考:      http://blog.csdn.net/u010098331/article/details/50886619 CentOS系统下将MySQL升级至5.6.25 (源码安装方式) 摘要:CentOS系统下将MySQL升

CentOS 6.3/6.4 Minimal 源码安装 MySQL 5.6.10

CentOS MySQL 5.6正式版发布了,相对于5.5版本作出了不少改进,其源码安装配置方式也有所变化,本文根据实际操作,不断尝试,精确还原了安装的具体步骤. 环境:CentOS 6.3/6.4 最小化缺省安装,配置好网卡. 安装MySQL前,确认Internet连接正常,以便下载安装文件. 先使用 yum -y update 指令升级系统到最新版本. 本安装将MySQL的数据文件与执行文件分离,如果你打算设置到不同的路径,注意修改对应的执行命令和数据库初始化脚本. # 修改防火墙设置,打开

CentOS 6.3下如何源码安装MySQL GA 5.6.10

在编译安装 MySQL 5.6.x 之前,需要最少安装的包有:bison,gcc.gcc-c++.cmake.ncurses-devel, 安装这些依赖包后,把原来解压出来的mysql源码目录删除掉,再重新解压出来,再去编译. -- 0 Download mysql-5.6.10.tar.gz in dev.mysql.com -- 1 安装cmake软件包 tar xzvf cmake-2.8.3.tar.gz ./bootstrap gmake gmake install -- 2 crea

在Ubuntu上源码安装MySQL+安装问题解决+安全优化

0.说明         当然,MySQL的安装方法多种多样,在Ubuntu上,你可以采用apt-get的方式安装,这样的好处是:快速方便.基本上,它会帮你解决所有的函数库依赖问题,正常情况下,只要apt-get执行完成,那么MySQL也就可以使用了.         但我更倾向于使用源码的方式来安装MySQL,原因也很简单:除了有详细的官方文档外,你还可以非常清楚地知道你自己在做什么,这点在以后MySQL运行出现问题时将会有很大的帮助!         但即便是按照官方文档来安装,你也会遇到各

在CentOS上源码安装MySQL+安装问题解决+安全优化

0.说明         当然,MySQL的安装方法多种多样,在CentOS上,你可以采用YUM的方式安装,这样的好处是:快速方便.基本上,它会帮你解决所有的函数库依赖问题,正常情况下,只要YUM执行完成,那么MySQL也就可以使用了.         但我更倾向于使用源码的方式来安装MySQL,原因也很简单:除了有详细的官方文档外,你还可以非常清楚地知道你自己在做什么,这点在以后MySQL运行出现问题时将会有很大的帮助!         但即便是按照官方文档来安装,你也会遇到各种各样的问题,这

Centos 6.8 源码安装 mysql 5.6.15

一.安装环境 Linux CentOS 6.8 二.编译安装所需编译环境 cmake tar –axf cmake-2.8.4.tar.gz cd cmake-2.8.4 ./configure make make install 三.开始安装mysql 创建mysql用户和用户组 groupadd mysql useradd –r –g mysql mysql 编译mysql tar –axf mysql-5.6.15.tar.gz cd mysql-5.6.15 cmake -DCMAKE_

CentOS 6.8 源码安装mysql 5.6

一:卸载旧版本 rpm -qa | grep mysql rpm -e mysql #普通删除模式 rpm -e --nodeps xxx(xxx为刚才的显示的列表) # 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 rm /etc/my.cnf #删除/etc/my.cnf   二:安装编译代码需要的包 yum -y install make gcc-c++ cmake bison-devel ncurses-devel   三:创建mysql用户