大多数都是将MysqL编译好放在系统目录里
我的方式是将编译的文件放在指定的目录里
为了实现同一台机器可以开启多个MysqL实例进程
各个实例之间相互不影响.不需要root权限
下载CentOS6.5_X86 安装基于Basic Server
http://archive.kernel.org/centos-vault/6.5/isos/i386/CentOS-6.5-i386-bin-DVD1.iso
MysqL 官方下载 https://dev.mysql.com/downloads/mysql/
MysqL 在线文档/下载 https://dev.mysql.com/doc/refman/5.7/en/
MysqL 编译选项文档 https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
安装依赖:
[root@CentOS~]#yuminstallcmake [root@CentOS~]#yuminstallgcc [root@CentOS~]#yuminstallgcc-c++ [root@CentOS~]#yuminstallreadline [root@CentOS~]#yuminstallncurses-devel [root@CentOS~]#yuminstallbison [root@CentOS~]#rm-rf/etc/my.cnf/etc/MysqL/my.cnf
下载,编译,安装 MysqL管理软件
[root@CentOS~]#useraddMysqL [root@CentOS~]#su-MysqL [MysqL@CentOS~]$wgethttp://ftp.iij.ad.jp/pub/db/MysqL/Downloads/MysqL-5.7/MysqL-boost-5.7.18.tar.gz [MysqL@CentOS~]$tarxfMysqL-boost-5.7.18.tar.gz [MysqL@CentOS~]$cdMysqL-5.7.18/ [MysqL@CentOSMysqL-5.7.18]$\ rm-rfCMakeCache.txt;\ makeclean;\ cmake.\ -DWITH_BOOST=boost/boost_1_59_0/\ -DCMAKE_INSTALL_PREFIX=${HOME}/MysqL/\ -DCMAKE_BUILD_TYPE=Release\ -DDEFAULT_CHARSET=utf8\ -DDEFAULT_COLLATION=utf8_general_ci\ -DWITH_MYISAM_STORAGE_ENGINE=1\ -DWITH_INNOBASE_STORAGE_ENGINE=1\ -DWITH_ARCHIVE_STPRAGE_ENGINE=1\ -DWITH_BLACKHOLE_STORAGE_ENGINE=1\ -DWIYH_READLINE=1\ &&make&&makeinstall [MysqL@CentOSMysqL-5.7.18]$echo$? 0
[MysqL@CentOS~]$cd${HOME}/MysqL [MysqL@CentOSMysqL]$mkdir-p~/MysqL/etc [MysqL@CentOSMysqL]$vimetc/my.cnf [chunli@CentOSMysqL_5.7.18]$catetc/my.cnf [client] port=3306 socket=/tmp/MysqL.sock_001 [MysqLd] #MysqLd基本设置 port=3311 log-error=/home/MysqL/MysqL/MysqL-error.log pid-file=/home/MysqL/MysqL/MysqL.pid basedir=/home/MysqL/MysqL datadir=/home/MysqL/MysqL/data port=3306#默认就是3306 log-error=MysqL-error.log socket=/tmp/MysqL.sock_001 pid-file=MysqL.pid default-time-zone='+8:00' #MysqLd二进制日志相关 log-bin=MysqL-bin#打开二进制日志功能 server_id=1000001#打开二进制必须指定serverID binlog_format=mixed binlog_cache_size=4M max_binlog_cache_size=8M max_binlog_size=1G #MysqLd性能相关 max_connections=3000#指定MysqL服务所允许的最大连接进程数 max_allowed_packet=4M#设定在网络传输中一次可以传输消息的最大值,系统默认为1M sort_buffer_size=16M#排序缓冲区用来处理类似orderby以及groupby队列所引起的排序,系统默认大小为2M join_buffer_size=8M#联合查询操作所使用的缓冲区大小 thread_cache_size=64#设置threadcache池中可以缓存连接线程的最大数量,默认为0,该值表示可以重新利用保存在缓存中线程的数量 query_cache_size=64M#指定mySQL查询缓冲区的大小,用来缓冲select的结果,并在下一次同样查询的时候不再执行查询而直接返回结果 query_cache_limit=4M#只有小于该值的结果才被缓冲,放置一个极大的结果将其他所有的查询结果都覆盖 tmp_table_size=256M#内存临时表的大小,如果超过该值,会将临时表写入磁盘 default_storage_engine=InnoDB#创建表时默认使用的存储引擎 key_buffer_size=384M#指定索引缓冲区的大小,内存为4G时刻设置为256M或384M 配置文件所有参数在这里: [MysqL@CentOS~]$/home/MysqL/MysqL/bin/MysqLd--verbose--help
[MysqL@CentOSMysqL-5.7.18]$cd${HOME}/MysqL [MysqL@CentOSMysqL]$mkdir-pdata; [MysqL@CentOSMysqL]$rm-rfdata/*;./bin/MysqLd--initialize 得到临时密码:Aa8gjN3k2K/a
启动,关闭,登陆
[MysqL@CentOSMysqL]$bin/MysqLd_safe&#启动MysqL服务,将仓库文件用进程跑起来 [root@CentOSMysqL]#./bin/MysqLadmin-uroot-pshutdown#关闭MysqL服务 [MysqL@CentOS~]$./MysqL/bin/MysqL-hlocalhost-uroot-p#登陆MysqL Enterpassword:输入刚才得到的临时密码 立即修改密码,取消MysqLroot远程登陆限制 ALTERUSERUSER()IDENTIFIEDBY'root'; useMysqL; selecthost,userfromuser; updateusersethost='%'whereuser='root'; selecthost,userfromuser; FLUSHPRIVILEGES;
MysqL程序路径 /home/laowang/MysqL_5.7.18
数据库文件存储路径 /home/laowang/MysqL_5.7.18/data
MysqL的错误日志路径 /home/laowang/MysqL_5.7.18/data/CentOS.err
MysqL服务进程PID /home/laowang/MysqL_5.7.18/data/CentOS.pid-file
到此为止,一个新的MysqL实例完成了,