设为首页 收藏本站
查看: 881|回复: 0

[经验分享] mysql兼mariadb安装过程详解

[复制链接]

尚未签到

发表于 2018-10-10 06:16:39 | 显示全部楼层 |阅读模式
  mysql兼mariadb下载自己找自己对应的版本:
  https://dev.mysql.com/downloads/mysql/
  因为5.5以后都用cmake编译了,所以系统里没有的话,就下个源码的装一下,怎么测试系统里有没有装了,在命令行中输入#cma  在按Tab看有没有cmake  有的话系统就装过了,就不用在装了。没有话就去下个吧,下载地址:https://cmake.org/download/
  还要装boost才能装cmake,boost下载地址:https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.gz/download
  boost安装过程:
  tar xf boost_1_59_0.tar.gz
  cd boost_1_59_0
  ./bootstrap.sh如果有提示的话就在装下依赖库yum install gcc  如果不出现“error: no command provided, default command 'g++' not found
  ”问题的话,
  在发现该错误时,先在系统中确认是否缺失相对应的包:
  rpm -qa | grep "g++"
  在确认系统未安装之后,查询可安装的相对应的功能的包:
  yum whatprovides "*/g++"
  在把给出的包装上,
  yum install gcc-c++-4.8.5-11.el7.x86_64
  yum install ncurses-devel -y  安装mysql时要的安装环境,也许你的机器还有别的没装,仔细看看,直接yum 装下就好了
  接着安装boost
  ./b2
  结束
  cmake安装过程:
  tar xf cmake-3.8.0-rc3.tar.gz
  cd cmake-3.8.0-rc3
  ./configure
  gmake && gmake install
  解压:tar xf tar xf mariadb-5.5.46.tar.gz
  cd tar xf mariadb-5.5.46
  cmake . -LH查看可以配置的选项,会生成CMakeCache.txt文件
  cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
  -DMYSQL_DATADIR=/data
  -DSYSCONFDIR=/etc
  -DWITHOUT_TOKUDB=1
  -DWITH_INNOBASE_STORAGE_ENGINE=1
  -DWITH_ARCHIVE_STPRAGE_ENGINE=1
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1
  -DWIYH_READLINE=1 -DWIYH_SSL=system
  -DVITH_ZLIB=system
  -DWITH_LOBWRAP=0
  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
  -DDEFAULT_CHARSET=utf8
  -DDEFAULT_COLLATION=utf8_general_ci
  这里说明一下:-DCMAKE_INSTALL_PREFIX是指定安装的位置,这里是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL的数据目录,这里是/data,安装目录和数据目录都可以自定义设置,-DSYSCONFDIR是指定配置文件所在的目录,一般都是/etc ,具体的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)这样的错误,然后后面那些参数都是可选的,可以加也可以不加,最后的编码建议设置一下,所以编译指令也可以简化成下面这样:
  注意:如果万一执行中有了错误,可以执行: rm -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也是报错
  cmake没问题,可以编译并且安装了:
  make && make install 时间有点长,耐心等待
  接下来就是准备过程了:
  首先我们来创建个mysql用户和mysql用户组,为什么要创呢?因为你启动服务的时候需要mysql用户来启动,别的用户还不行,你要问我为什么,那我可不知道,请去问 Michael Widenius
  #groupadd -r mysql
  #useradd -r -g mysql mysql
  要给你的安装目录及数据目录改属主属组
  chown -R mysql.mysql /usr/local/mysql
  chown -R mysql.mysql /data
  如果不改的话,之后你的服务肯定起不来的
  接下来将配置文件和启动文件放入/etc目录 下
  #cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
  #cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  修改配置文件将我的数据目录添加进去
  vim /etc/my.cnf
  [mysqld]
  datadir = /data
  添加PATH环境变量
  vim /etc/profile.d/mysql.sh
  export PATH=$PATH:/usr/local/mysql/bin
  source /etc/profile.d/mysql.sh读取下,当前shell生效
  接下来就是初始化数据库了:
  初始化:
  # /usr/local/mysql/mysqld --initialize --user=mysql      --mysql5.7版本初始化
  # /usr/local/mysql/bin/mysql_install_db --user=mysql       --5.6到5.7版本
  # /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data --5.5版本
  最后就是启动数据库了:
  service mysqld start
  设置开机启动:
  chkconfig mysqld on
  之后就可以连接数据库了:
  mysql
  mysql> SET PASSWORD FOR root@'localhost'=PASSWORD('mysql');修改密码,不同的版本修改方式有点不同,可自己上网查下。
  最后就是点小的问题解决方式:
  如果没给数据目录权限的话就会出现以下的问题:
  chown -R mysql:mysql datadir的位置
  ** 记得把之前的启动项关掉,要不然会占用PID文件,你会发现你启动不了过程
  还有就是你的server-id 没有设置
  killall mysqld
  1、Starting MySQL.. ERROR! The server quit without updating PID file (/var/mysql/data/localhost.localdomain.pid).
  像套接字文件也是这种问题:
  2、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动
  解决方法:去mysql的数据目录看看,如果存在mysql-bin.index,就赶快把它删除掉吧。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-619659-1-1.html 上篇帖子: mysql性能优化-索引优化 下篇帖子: MYSQL分页limit速度太慢优化方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表