大多数都是将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 ~]# yum install cmake[root@CentOS ~]# yum install gcc[root@CentOS ~]# yum install gcc-c++[root@CentOS ~]# yum install readline[root@CentOS ~]# yum install ncurses-devel[root@CentOS ~]# yum install bison[root@CentOS ~]# rm -rf /etc/my.cnf /etc/mysql/my.cnf
[root@CentOS ~]# useradd mysql[root@CentOS ~]# su - mysql[mysql@CentOS ~]$ wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz[mysql@CentOS ~]$ tar xf mysql-boost-5.7.18.tar.gz[mysql@CentOS ~]$ cd mysql-5.7.18/[mysql@CentOS mysql-5.7.18]$    \rm -rf CMakeCache.txt;      \make clean;        \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 && make install[mysql@CentOS mysql-5.7.18]$ echo $?0
[mysql@CentOS ~]$ cd ${HOME}/MySQL[mysql@CentOS MySQL]$ mkdir -p ~/MySQL/etc[mysql@CentOS MySQL]$ vim etc/my.cnf[chunli@CentOS MySQL_5.7.18]$ cat etc/my.cnf [client]port=3306socket=/tmp/mysql.sock_001[mysqld]# mysqld基本设置port = 3311log-error = /home/mysql/MySQL/mysql-error.logpid-file = /home/mysql/MySQL/mysql.pidbasedir = /home/mysql/MySQLdatadir = /home/mysql/MySQL/dataport=3306 #默认就是3306log-error = mysql-error.logsocket = /tmp/mysql.sock_001  pid-file = mysql.pid  default-time-zone = '+8:00'# mysqld二进制日志相关log-bin=mysql-bin  #打开二进制日志功能server_id=1000001  #打开二进制必须指定serverIDbinlog_format = mixedbinlog_cache_size = 4Mmax_binlog_cache_size = 8Mmax_binlog_size = 1G# mysqld性能相关max_connections = 3000 #指定mysql服务所允许的最大连接进程数max_allowed_packet = 4M #设定在网络传输中一次可以传输消息的最大值,系统默认为1Msort_buffer_size = 16M #排序缓冲区用来处理类似orderby以及groupby队列所引起的排序,系统默认大小为2Mjoin_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@CentOS mysql-5.7.18]$ cd ${HOME}/MySQL[mysql@CentOS MySQL]$ mkdir -p data; [mysql@CentOS MySQL]$ rm -rf data/*; ./bin/mysqld --initialize

启动, 关闭, 登陆

[mysql@CentOS MySQL]$ bin/mysqld_safe & #启动MySQL服务,将仓库文件用进程跑起来[root@CentOS MySQL]# ./bin/mysqladmin -uroot -p shutdown #关闭MySQL服务[mysql@CentOS ~]$ ./MySQL/bin/mysql -hlocalhost -uroot -p #登陆MySQLEnter password: 输入刚才得到的临时密码
ALTER USER USER() IDENTIFIED BY 'root';use mysql; select host, user from user;update user set host = '%' where user = 'root';select host, user from user;FLUSH PRIVILEGES;

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

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Pycharm安装PyQt5的详细教程
  3. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  4. android用户界面之按钮(Button)教程实例汇
  5. 【Android(安卓)开发教程】Toast通知
  6. android 分辨率及密度详细
  7. Android简易实战教程--第三十九话《Chronometer实现倒计时》
  8. android加密解密完美教程
  9. Android(安卓)SDK自带教程之BluetoothChat

随机推荐

  1. c语言*p++是什么意思?
  2. .net和c#有什么区别
  3. C ++中continue和break语句的简单比较
  4. c语言计算两个数的最小公倍数
  5. 如何判断文件是否存在于Perl中
  6. 什么是变量的作用域
  7. 如何用Perl表示当前时间
  8. c语言如何实现选择排序算法(代码示例)
  9. 伪代码是什么?如何写一个伪代码?
  10. c语言简单数据类型有哪些