区别:

与二进制(RPM)发行版本(直接安装方式)相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL
所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:
a) 针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
b) 根据不同的软件平台环境调整相关的编译参数;
c) 针对我们特定应用场景选择需要什么组件不需要什么组件;
d) 根据我们的所需要存储的数据内容选择只安装我们需要的字符集;
e) 同一台主机上面可以安装多个MySQL;
f) 等其他一些可以根据特定应用场景所作的各种调整。

在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
a) 对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
b) 对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
c) 还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长。

建议根据实际情况和需求进行数据库安装及调试。

  • 准备编译环境
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake          安装编译工具wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

  • 安装MySQL

准备好源码包(如果没有可以到我上传的资源下载免费的)

groupadd mysql                     创建组useradd -r -g mysql -s /bin/false mysql    创建用户并给权限tar xvf mysql-5.7.19.tar.gz                解压cd mysql-5.7.19                            到目录pwd                                查看当前位置   /root/mysql-5.7.19              当前位置mv ../boost_1_59_0.tar.gz  .       移动文件到当前目录tar xf  boost_1_59_0.tar.gz        解压

  • 调参
cmake . \                         \回车是换行帮助美观代码-DWITH_BOOST=boost_1_59_0/ \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DSYSCONFDIR=/etc \-DMYSQL_DATADIR=/usr/local/mysql/data \-DINSTALL_MANDIR=/usr/share/man \-DMYSQL_TCP_PORT=3306 \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DEXTRA_CHARSETS=all \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_READLINE=1 \-DWITH_SSL=system \-DWITH_EMBEDDED_SERVER=1 \-DENABLED_LOCAL_INFILE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1

其他如果需要调更多参数可以参考官方文档


  • 编译
make   编译(时间很久30min-1h)make install  安装

  • 初始化
cd /usr/local/mysql       前往安装位置mkdir mysql-files         创建文件夹chown -R mysql.mysql  /usr/local/mysql      给到权限/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data     在屏幕上找到临时密码并保存/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

  • 建立MySQL配置文件my.cnf
mv /etc/my.cnf  ~    备份原有配置文件vim /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data

  • 开机启动MySQL
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldchkconfig --add mysqld             添加mysql服务chkconfig mysqld on               开机自动启动mysql服务service mysqld start  ps aux |grep mysqld/usr/local/mysql/bin/mysql -u root -p'密码'    登录MySQL/usr/local/mysql/bin/mysqladmin -u root -p '旧密码' password '新密码'show databases;                               看到库即可
©著作权归作者所有:来自51CTO博客作者是维C呀的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Centos 如何安装 nginx
  2. Microsoft Visual C++ 14.0 is required
  3. 【Linux】循序渐进学运维-CentOS7系统的安装
  4. FFmpeg编译4.1.4并移植到Android
  5. 【EMCC】 12.1.0.5 OEM server agent 安装配置及监控MySQL数据库
  6. influxDB安装部署及入门
  7. RHEL 7.X 或CentOS 7 安装 11.2.0.4 RAC碰到的问题
  8. Windows 7平台静默安装11.2.0.4软件及静默建库
  9. deepin mysql安装 用户创建

随机推荐

  1. 你可能没有细究过的TCP/IP
  2. 利用TICK搭建Docker容器可视化监控中心
  3. Docker容器跨主机通信之:直接路由方式
  4. Spring Boot日志框架实践
  5. 如何使用Web Share API[每日前端夜话0x84
  6. 理解算法的时间复杂度[每日前端夜话0x82]
  7. 高效编写Dockerfile的几条准则
  8. Svelte 3 快速开发指南(对比React与vue)[
  9. React 的未来,与 Suspense 同行[每日前端
  10. Docker Swarm的前世今生