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

[经验分享] centos7下mysql5.7编译安装

[复制链接]

尚未签到

发表于 2019-2-15 17:29:22 | 显示全部楼层 |阅读模式
    mysql5.5以后,mysql的编译安装开始采用cmake的方式,使编译能够独立与源码之外工作,同时,编译版本的mysql兼容性非常好,而且易于卸载和移植到其他服务器上使用,本文讲述mysql5.7的编译安装过程;
 
 
准备工作

  mysql安装包:mysql-5.7.19.tar.gz
编译依赖包: boost_1_59_0.tar.gz  
安装环境:centos7服务器,磁盘大小20G左右,内存2G或以上

  
 
建立用户与组

  groupadd -g 27 mysql
useradd -u 27 -g mysql -M  -s /sbin/nologin  mysql

  
 
创建目录

  mkdir /usr/local/mysql 
mkdir /data/mysql
chown mysql:mysql -R /usr/local/mysql
chown mysql:mysql -R /data/mysql

  
 
解压软件包

  mv  mysql-5.7.19.tar.gz   /usr/local/src
mv  boost_1_59_0.tar.gz  /usr/local/src
cd /usr/local/src
tar xf  mysql-5.7.19.tar.gz
tar xf  boost_1_59_0.tar.gz  /usr/local/src
mkdir ./boost
mv boost_1_59_0 ./boost

  
 
配置编译环境

  yum  -y   install   gcc-c++   ncurses-devel   cmake

  
 
开始编译
 

cd /usr/local/src/mysql-5.7.19
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock  -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1    -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/boost
  
 
cmake参数解析
 

>-DCMAKE_INSTALL_PREFIX=/usr/local/mysql57#指定安装路径
>-DMYSQL_DATADIR=/data/mysql#指定数据库存放路径
>-DDEFAULT_CHARSET=utf8
>-DDEFAULT_COLLATION=utf8_general_ci ;#设置字符校验集
>-DMYSQL_TCP_PORT=3306
>-DMYSQL_UNIX_ADDR=/tmp/mysql.sock    #设置套接字生成路径
>-DMYSQL_USER=mysql
>-DWITH_MYISAM_STORAGE_ENGINE=1#存储引擎的支持
>-DWITH_INNOBASE_STORAGE_ENGINE=1
>-DWITH_ARCHIVE_STORAGE_ENGINE=1
>-DWITH_BLACKHOLE_STORAGE_ENGINE=1
>-DWITH_MEMORY_STORAGE_ENGINE=1
>-DDOWNLOAD_BOOST=1
>-DWITH_BOOST=/usr/local/src/boost#指定Boost扩展源码路径
  
 
开始安装

  make && make install       #需要时间很久

  
安装完成后,配置主配置文件,添加以下内容:

  vim /etc/my.cnf


[client]
port=3306
socket=/data/mysql/mysql.sock
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
skip-name-resolve         
user=mysql
port=3306
basedir=/usr/local/mysql
datadir=/data/mysql
tmpdir=/tmp
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysqld.pid
  
进入数据库目录,进行数据库初始化
 

cd /data/mysql
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf  --initialize  --user=mysql
  
 
登录数据库,这个时候需要密码登录,但我们没有设置密码,可以通过数据库初始化时生成的随机密码登录(查看日志文件获取),但只能用一次,登录后必须立刻设置密码;
 

  cd /data/mysql
cat  cat mysql.log

  
找到" root@localhost: "字段后面的密文。
  
 
设置数据库密码
 

/usr/local/mysql/support-files/mysql.server   start
/usr/local/mysql/bin/mysql -uroot -p"随机密码"
mysql> alter user 'root'@'localhost'  IDENTIFIED BY  '123456';
mysql> grant all on *.* to 'root'@'%' identified by '123456'; #授权远程用户
mysql> flush privileges;#刷新密码权限表
mysql> exit
  
  重新登录测试,这时就可以使用刚才配置的密码登录了。
 
 




运维网声明 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.yunweiku.com/thread-672727-1-1.html 上篇帖子: Centos7破密 下篇帖子: CentOS下用Wget命令下载JDK
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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