最详细的一键化安装mysql_一键安装MySQL5.1.45,全自动安装MySQL SHELL程序(编译安装)...

一.问题来源

安装MySQL如果手动安装一台还可以,但安装多台,手动安装很麻烦,需要编写一个shell程序 install_mysql.sh来进行安装

二.程序说明

将MySQL5.1.45安装到了 /home/longxibendi/mysql/usrl/local/mysql

数据文件以及日志文件设置在了 /home/longxibendi/mysql/3309/

配置文件my.cnf 在   /home/longxibendi/mysql/3309

端口使用  3309

三.源程序 install_mysql.sh

#!/bin/bash

#author longxibendi

#function install MySQL5.1.45

###################################### configure and install #####################################################

mkdir -p /home/longxibendi/mysql/usr/local/mysql

cd

mkdir mysql

cd mysql

wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.45.tar.gz

tar zxvf mysql-5.1.45.tar.gz

cd mysql-5.1.45

./configure --prefix=/home/longxibendi/mysql/usr/local/mysql --without-debug --without-bench --enable-thread-safe-client --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-charset=latin1 --with-extra-charset=utf8,gbk --with-innodb --with-mysqld-user=longxibendi --without-embedded-server --with-server-sufix=community --with-unix-socket-path=/home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-plugins=partition,heap,innobase,myisam,myisammrg,csv

make -j `cat /proc/cpuinfo | grep 'model name' | wc -l ` && make install

###################################### set log and data storage path #####################################################

chmod +w /home/longxibendi/mysql/usr/local/mysql

mkdir -p /home/longxibendi/mysql/3309/data/

mkdir -p /home/longxibendi/mysql/3309/binlog/

mkdir -p /home/longxibendi/mysql/3309/relaylog/

###################################### create data file #####################################################

/home/longxibendi/mysql/usr/local/mysql/bin/mysql_install_db --basedir=/home/longxibendi/mysql/usr/local/mysql --datadir=/home/longxibendi/mysql/3309/data --user=longxibendi

####################################### create my.cnf profile #####################################################

echo "

[client]

character-set-server = utf8

port = 3309

socket = /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock

[mysqld]

character-set-server = utf8

replicate-ignore-db = mysql

replicate-ignore-db = test

replicate-ignore-db = information_schema

user = mysql

port = 3309

socket = /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock

basedir = /home/longxibendi/mysql

datadir = /home/longxibendi/mysql/3309/data

log-error = /home/longxibendi/mysql/3309/mysql_error.log

pid-file = /home/longxibendi/mysql/3309/mysql.pid

open_files_limit = 10240

back_log = 600

max_connections = 5000

max_connect_errors = 6000

table_cache = 614

external-locking = FALSE

max_allowed_packet = 16M

sort_buffer_size = 1M

join_buffer_size = 1M

thread_cache_size = 300

#thread_concurrency = 8

query_cache_size = 20M

query_cache_limit = 2M

query_cache_min_res_unit = 2k

default-storage-engine = MyISAM

thread_stack = 192K

transaction_isolation = READ-COMMITTED

tmp_table_size = 20M

max_heap_table_size = 20M

long_query_time = 3

log-slave-updates

log-bin = /home/longxibendi/mysql/3309/binlog/binlog

binlog_cache_size = 4M

binlog_format = MIXED

max_binlog_cache_size = 8M

max_binlog_size = 20M

relay-log-index = /home/longxibendi/mysql/3309/relaylog/relaylog

relay-log-info-file = /home/longxibendi/mysql/3309/relaylog/relaylog

relay-log = /home/longxibendi/mysql/3309/relaylog/relaylog

expire_logs_days = 30

key_buffer_size = 10M

read_buffer_size = 1M

read_rnd_buffer_size = 6M

bulk_insert_buffer_size = 4M

myisam_sort_buffer_size = 8M

myisam_max_sort_file_size = 20M

myisam_repair_threads = 1

myisam_recover

interactive_timeout = 120

wait_timeout = 120

skip-name-resolve

#master-connect-retry = 10

slave-skip-errors = 1032,1062,126,1114,1146,1048,1396

#master-host = 192.168.1.2

#master-user = username

#master-password = password

#master-port = 3309

server-id = 1

innodb_additional_mem_pool_size = 16M

innodb_buffer_pool_size = 20M

innodb_data_file_path = ibdata1:56M:autoextend

innodb_file_io_threads = 4

innodb_thread_concurrency = 8

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 16M

innodb_log_file_size = 20M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

innodb_file_per_table = 0

#log-slow-queries = /home/longxibendi/mysql/3309/slow.log

#long_query_time = 10

[mysqldump]

quick

max_allowed_packet = 32M

" > /home/longxibendi/mysql/3309/my.cnf

############################### solve bug http://bugs.mysql.com/bug.php?id=37942 #############################################

mkdir -p /home/longxibendi/mysql/share/mysql/english/

cp /home/longxibendi/mysql/usr/local/mysql/share/mysql/english/errmsg.sys /home/longxibendi/mysql/share/mysql/english/

############################### start MySQL Server #############################################

/bin/sh /home/longxibendi/mysql/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/longxibendi/mysql/3309/my.cnf 2>&1 > /dev/null &

############################### try use MySQL Server #############################################

/home/longxibendi/mysql/usr/local/mysql/bin/mysql -u root -p -S /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock -P3309 -h127.0.0.1 -e "show databases;"

四.成功安装结果

当安装完成之后,直接回车,就可以看到 以下信息

information_schema

mysql

test

声明:本文档可以随意更改,但必须署名原作者

作者:凤凰舞者 qq:578989855

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在 CentOS 7 上编译安装 MySQL 5.6.50 的步骤: 1. 确保系统已安装必要的依赖库: ```shell yum -y install gcc gcc-c++ make cmake bison-devel ncurses-devel ``` 2. 下载 MySQL 5.6.50 源码包: ```shell wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.50.tar.gz ``` 3. 解压缩源码包: ```shell tar -zxvf mysql-5.6.50.tar.gz cd mysql-5.6.50 ``` 4. 配置编译选项: ```shell cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DWITH_EMBEDDED_SERVER=0 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BOOST=../boost ``` 5. 编译安装: ```shell make && make install ``` 6. 添加 MySQL 用户和用户组: ```shell groupadd mysql useradd -r -g mysql -s /bin/false mysql ``` 7. 初始 MySQL 数据库: ```shell cd /usr/local/mysql ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ ``` 8. 修改配置文件: ```shell cp support-files/my-default.cnf /etc/my.cnf vi /etc/my.cnf ``` 在 [mysqld] 段中添加以下内容: ```shell datadir=/usr/local/mysql/data socket=/usr/local/mysql/mysql.sock ``` 9. 启动 MySQL 服务: ```shell /usr/local/mysql/support-files/mysql.server start ``` 10. 设置开机自启动: ```shell cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig mysql on ``` 11. 设置 MySQL 环境变量: ```shell echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile source /etc/profile ``` 现在,你已经成功地在 CentOS 7 上编译安装MySQL 5.6.50。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值