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

来源:互联网 发布:沉迷网络的危害英语 编辑:程序博客网 时间:2024/05/20 11:51

【安装】

-----------------------------如下安装的用户为wiki,请根据需要修改为你自己的用户名------------------------------------

1. 从如下地址下载二进制包,注意机器是32位还是64位的:http://downloads.mysql.com/archives/community/ 

注意选择平台和版本

注意选如下包:

2. 解压二进制包到个人目录,例如/home/wiki/local/mysql-5.1.55


3. 拷贝本文的my.cnf样例到/home/wiki/local/mysql-5.1.55/目录下,然后按照如下方式修改:

     3.1 将其中所有目录相关的配置全部改为个人目录,且要用绝对路径,不能用$HOME.  

     注意:二进制包解压后缺省并没有log、tmp目录,需要自己手工创建


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

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

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

   /home/wiki/local/mysql-5.1.55/bin/mysqld_safe --defaults-file=/home/wiki/local/mysql-5.1.55/my.cnf --basedir=/home/wiki/local/mysql-5.1.55 --ledir=/home/wiki/local/mysql-5.1.55/bin &


配置

为了提高InnoDB引擎的性能,记得一定要按照如下方式修改两个参数,否则你的MySQL insert和update慢得如蜗牛,但高性能同时也是有损失的,这样配置会降低MySQL的可靠性,某些场景下可能丢失数据,实际应用需要你自己评估是否要这样配置:
1)sync_binlog=0

1代表每次执行一条insert/update/delete都同步一下磁盘,0代表由操作系统决定何时同步磁盘,大于0代表达到多少条后再同步磁盘,如果可靠性要求较低,建议设置为0或者100以上
2)innodb_flush_log_at_trx_commit = 2 

默认为1,意思是每次事务提交时都同步日志到磁盘,0代表每秒同步一次,事务提交时不同步,2代表只将事务日志写入缓存,每秒由系统同步磁盘;


【FAQ】

1. Warning: World-writable config file '/home/wiki/local/mysql-5.1.55/my.cnf' is ignored

解决方法:chmod 644 /home/wiki/local/mysql-5.1.55/my.cnf

2. 用root用户到/home/wiki/local/mysql-5.1.55目录下启动失败

解决方法:使用wiki用户登录后启动


【配置和脚本】

1. 配置样例

[client]port = 3309 socket = /home/wiki/local/mysql-5.1.55/tmp/mysql.sockdefault-character-set = utf8[mysqld]character-set-server = utf8port = 3309socket = /home/wiki/local/mysql-5.1.55/tmp/mysql.sockuser = wikiskip-external-lockingdatadir = /home/wiki/local/mysql-5.1.55/data/log-error = /home/wiki/local/mysql-5.1.55/log/mysqld.errpid-file = /home/wiki/local/mysql-5.1.55/bin/mysql.pidkey_buffer_size = 64Mmyisam_sort_buffer_size = 30Mmax_allowed_packet = 16Mtable_open_cache = 4096sort_buffer_size = 5Mjoin_buffer_size = 5Mread_buffer_size = 5Mread_rnd_buffer_size = 8Mbulk_insert_buffer_size = 64Mquery_cache_size = 0 query_cache_limit=1Mquery_cache_min_res_unit = 2ktmp_table_size=64Mmax_heap_table_size = 128Mopen_files_limit=1024thread_concurrency = 16max_connections=3000max_connect_errors=3000back_log = 600table_cache = 4096thread_cache_size = 100thread_stack = 192Kskip-name-resolve####log variablesserver-id = 1binlog_format=mixed#log-slave-updateslog-bin=/home/wiki/local/mysql-5.1.55/log/mysql-binrelay-log=/home/wiki/local/mysql-5.1.55/log/relay-binmax_binlog_size = 100Mbinlog_cache_size = 8Mmax_binlog_cache_size = 640M#binlog-ignore-db = mysqlreplicate-ignore-db = mysqlexpire-logs-days = 10sync_binlog=100##############slave config#####################report-host=192.168.3.172#report-port=19817#report-user=rep#report-password=rep##############slave config####################slow_query_log=1slow_query_log_file=/home/wiki/local/mysql-5.1.55/log/slowquery.loglong_query_time=1general_log=0general_log_file=/home/wiki/local/mysql-5.1.55/log/general.log#relay_log_purge=OFF# Point the following paths to different dedicated diskstmpdir = /home/wiki/local/mysql-5.1.55/tmp/#log-update = /path-to-dedicated-directory/hostname#auto_increment_increment=1s#auto_increment_offset=asdafs####innodb variables#skip-innodbinnodb_data_home_dir = /home/wiki/local/mysql-5.1.55/datainnodb_data_file_path = ibdata:1000M:autoextendinnodb_log_group_home_dir = /home/wiki/local/mysql-5.1.55/log#innodb_log_arch_dir = /home/wiki/local/mysql-5.1.55/data/innodb_buffer_pool_size = 2048M innodb_additional_mem_pool_size = 64Minnodb_log_file_size = 100M innodb_log_buffer_size = 128M#innodb_log_buffer_size = 8Minnodb_log_files_in_group = 3innodb_flush_log_at_trx_commit = 2#innodb_file_io_threads = 4innodb_thread_concurrency = 40 default-storage-engine=innodb#innodb_max_dirty_pages_pct = 50 #innodb_lock_wait_timeout = 60innodb_file_per_table = 1interactive_timeout = 60wait_timeout = 28800[mysqldump]quickmax_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 = 512Msort_buffer_size = 512Mread_buffer = 5Mwrite_buffer = 5M[mysqlhotcopy]interactive-timeout


2. 启动mysql的脚本

#!/bin/shMYSQL_HOME=/home/wiki/local/mysql-5.1.55cd $MYSQL_HOME$MYSQL_HOME/bin/mysqld_safe --defaults-file=$MYSQL_HOME/my.cnf --basedir=$MYSQL_HOME &

3. 关闭mysql的脚本

#!/bin/sh/home/wiki/local/mysql-5.1.55/bin/mysqladmin -S /home/wiki/local/mysql-5.1.55/tmp/mysql.sock -u root -p你的密码 shutdown



原创粉丝点击