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

[经验分享] CentOS6.5编译安装MySQL 5.7.11

[复制链接]

尚未签到

发表于 2018-4-26 06:21:39 | 显示全部楼层 |阅读模式
http://mirrors.sohu.com/mysql


安装前工作:
1,从官方网址下载MySQL5.7.11源码包,大概49M
2,安装好CentOS6.5 64位操作系统。建议update操作系统,以便是此版本最新的
3. yum -y install  gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake  libaio libaio-devel autoconf bzr bison libtool   make cmake  gcc-c++ bison ncurses-devel  //这是个人在安装老版本使用的,相关依赖包

软件放在/data

正式安装MySQL
1. 添加MySQL用户和所属组
    groupadd mysql
    useradd -r -g mysql mysql


2. 解压源码包

   mkdir /data

chmod 755 /data

   cd /data

    wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.11.tar.gz
    tar -zxvf mysql-5.7.11.tar.gz


3. 开始踩MySQL的坑
    设置好make编译的目录   

cd mysql-5.7.11

cmake \
-DCMAKE_INSTALL_PREFIX=/data/mysql \              // 安装根目录
-DMYSQL_DATADIR=/mysql/data \                        //数据库存储路径

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \           //这个最好换成 /data 下
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/data/boost_1_59_0           //需要boost支持,这一点跟5.6版本的不一样


-- Configuring done
-- Generating done
-- Build files have been written to: /root/mysql-5.7.11
到这里cmake完成,比较顺利              

cmake -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_DATADIR=/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/data/boost_1_59_0




5. make 操作
# make    //漫长的过程 主要看机器的配置


Linking CXX executable my_safe_process
[100%] Built target my_safe_process



注意:
mysql 5.6.19 版本编译后的文件包约2G   // 笔者一直使用的是5.6.19及以上版本
MySQL5.7.11 编译安装对磁盘的需求也比以往的版本多很多,make之后的 mysql-5.7.11 文件夹约4.8G
开始编译前

# df -h

Filesystem                    Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root   27G  4.5G   21G  19% /

tmpfs                         996M  228K  996M   1% /dev/shm

/dev/sda1                     485M   39M  421M   9% /boot


编译完成后:

# df -h

Filesystem                    Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root   27G  9.5G   16G  38% /

tmpfs                         996M  228K  996M   1% /dev/shm

/dev/sda1                     485M   39M  421M   9% /boot




此时如果执行make install 会因为磁盘不足,导致缺失重要的文件,笔者,尝试过几次,均失败。 最后的报错如下:
-- Installing: /usr/local/mysql/bin/mysql_embedded
CMake Error at libmysqld/examples/cmake_installNaNake:42 (FILE):
  file INSTALL cannot copy file
  "/root/mysql-5.7.11/libmysqld/examples/mysql_embedded" to
  "/usr/local/mysql/bin/mysql_embedded".
Call Stack (most recent call first):
  cmake_installNaNake:116 (INCLUDE)
make: *** [install] Error 1


并且5.7.11的安装文件也比以往略大
5.6.19  ---->1.1G
5.7.11  ---->1.9G
所以建议大家尽量给多一点空间



6. make install 安装:
# make install      从最后一行看到密码?
........

-- Installing: /usr/local/mysql/support-files/magic
-- Installing: /usr/local/mysql/share/aclocal/mysql.m4
-- Installing: /usr/local/mysql/support-files/mysql.server



7. 初始化MySQL

cd /data/mysql/bin

# ./mysqld --initialize   --user=mysql --datadir=/data/mysql/data --basedir=/data/mysql --socket=/tmp/mysql.sock     //在MySQL 5.7.6版本以前是 bin/mysql_install_db  --user
2016-02-25T04:36:27.941245Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-02-25T04:36:29.363359Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-02-25T04:36:29.529261Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-02-25T04:36:29.615486Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 56a9ad19-db79-11e5-bc10-080027207e2e.
2016-02-25T04:36:29.635578Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-02-25T04:36:29.645190Z 1 [Note] A temporary password is generated for root@localhost: oej<ibtee2r?



8. 添加MySQL服务

cd /data/mysql-5.7.11/support-files


# cp mysql.server /etc/init.d/mysqld
cd /etc/init.d/

chmod +x mysqld


chmod  a+wrx /tmp         //给socket 存储文件 写的权限



9. 编辑my.cnf文件
# vi /etc/my.cnf              //添加下面的,这里为了简洁,省去其他的,都是按照默认的    注释掉以前的
[mysqld]
port=3306
basedir=/data/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock



[mysqld]

port=3306

basedir=/data/mysql

datadir=/data/mysql/data

socket=/tmp/mysql.sock

init_connect='set autocommit=0'

#datadir=/var/lib/mysql

#socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

#symbolic-links=0

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mariadb according to the

# instructions in http://fedoraproject.org/wiki/Systemd


[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid


#

# include all files from the config directory

#



10. 重启MySQL

chown mysql.mysql /data/mysql/


# /etc/init.d/mysqld restart
Starting MySQL.. SUCCESS!


chkconfig mysqld on


如果有报错可以删除/data/mysql/data下的

ib_logfile1  ib_logfile0


rm  ib_logfile0     

Y


再次启动


ps -ef|grep mysqld



11. 登录MySQL


# cd /data/mysql/bin

# ./mysql -uroot -p               //第一次登录MySQL,密码文件在,也可以从make install 最后的一行看到密码
Enter password:


这边忘记mysql的密码了  方法:

vi /etc/my.cnf    #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables

[mysqld]

skip-grant-tables

:wq!  #保存退出

service mysqld restart  #重启MySQL服务

cd /data/mysql/bin

./mysql  -u root -p  #直接按回车,这时不需要输入root密码。


use mysql

update user set authentication_string=PASSWORD('123456') where User='root';

flush privileges;  #刷新系统授权表

grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;


vi /etc/my.cnf   编辑文件,找到[mysqld],删除skip-grant-tables这一行

:wq!  #保存退出


service mysqld restart    #重启mysql,这个时候mysql的root密码已经修改为123456


mysql -uroot -p  #进入mysql控制台

123456 #输入密码




mysql> show  warnings;
+---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Level   | Code | Message                                            //下面提示我那种方法以后将会被遗弃                                |
+---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Warning | 1287 | 'SET PASSWORD = PASSWORD('')' is deprecated and will be removed in a future release. Please use SET PASSWORD = '' instead |
+---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

结束!











  
  

运维网声明 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-451972-1-1.html 上篇帖子: CentOS 6.5下编译安装MySQL 5.6. 系列 下篇帖子: 在CentOS 安装Webmin
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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