centos7环境下源码安装mysql5.7.16的方法详解
本文实例讲述了centos7环境下源码安装mysql5.7.16的方法。分享给大家供大家参考,具体如下:
一、下载源码包
下载mysql源码包
http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz
二、安装约定:
用户名:mysql
安装目录:/data/mysql
数据库目录:/data/mysql/data
三、安装准备
1、添加用户
>useradd-s/sbin/nologinmysql
2、建立目录
>mkdir/data/mysql
3、改变目录拥有者和所属者
>chown-Rmysql:mysql/data/mysql
4、安装编辑所需的文件
>yuminstallgccgcc-c++cmakebison-develncurses-devellibaiolibaio-devel
(*mysql5.7.5以上版本需要安装boost)
>yuminstallboostboost-devel
5、解压源码包
>tar-xfmysql-5.7.16.tar.gz
四、编译安装
>cd/data/mysql-5.7.16 >cmake\ -DMYSQL_USER=mysql\ -DCMAKE_INSTALL_PREFIX=/data/mysql\ -DMYSQL_DATADIR=/data/mysql/data\ -DSYSCONFDIR=/data/mysql\ -DWITH_MYISAM_STORAGE_ENGINE=1\ -DWITH_INNOBASE_STORAGE_ENGINE=1\ -DWITH_MEMORY_STORAGE_ENGINE=1\ -DINSTALL_PLUGINDIR=/data/mysql/plugin\ -DWITH_READLINE=1\ -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock\ -DMYSQL_TCP_PORT=3306\ -DENABLED_LOCAL_INFILE=1\ -DWITH_PARTITION_STORAGE_ENGINE=1\ -DEXTRA_CHARSETS=all\ -DDEFAULT_CHARSET=utf8\ -DDEFAULT_COLLATION=utf8_general_ci\ -DDOWNLOAD_BOOST=1\ -DWITH_BOOST=/usr/local/boost
(*注意,如果出错,需删除CMakeCache.txt,重新运行配置)
关于上面参数的解释如下:
#mysql用户名 -DMYSQL_USER=mysql #安装路径 -DCMAKE_INSTALL_PREFIX=/data/mysql #数据文件存放位置 -DMYSQL_DATADIR=/data/mysql/data #my.cnf路径 -DSYSCONFDIR=/data/mysql #支持MyIASM引擎 -DWITH_MYISAM_STORAGE_ENGINE=1 #支持InnoDB引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 #支持Memory引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 #插件文件及配置路径 -DINSTALL_PLUGINDIR=/data/mysql/plugin #快捷键功能(我没用过) -DWITH_READLINE=1 #连接数据库socket路径 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock #端口 -DMYSQL_TCP_PORT=3306 #允许从本地导入数据 -DENABLED_LOCAL_INFILE=1 #安装支持数据库分区 -DWITH_PARTITION_STORAGE_ENGINE=1 #安装所有的字符集 -DEXTRA_CHARSETS=all #默认字符 -DDEFAULT_CHARSET=utf8 #校验字符 -DDEFAULT_COLLATION=utf8_general_ci #会自动下载boost -DDOWNLOAD_BOOST=1 #指定boost目录 -DWITH_BOOST=/usr/local/boost
编译安装
>make&&makeinstall
复制配置文件
>cp/data/mysql/support-files/my-default.cnf/data/mysql/my.cnf
初始化数据库
>/data/mysql/bin/mysqld\ --defaults-file=/data/mysql/my.cnf\ --initialize\ --user=mysql\ --basedir=/data/mysql\ --datadir=/data/mysql/data\
如果出现如下信息:
unknownvariable'defaults-file=/data/mysql/my.cnf'
请保证--defaults-file配置选项在最前面。
如果出现如下信息:
[ERROR]--initializespecifiedbutthedatadirectoryhasfilesinit.Aborting.
请保证的你的datadir目录下为空,如果有文件则删除。
mysql5.7版本通过--initialize安装会随机生成root密码,请注意保存。
如果希望生成空密码请使用--initialize-insecure配置。
修改mysql目录拥有者
>chown-Rmysql:mysql/data/mysql
五、配置mysql配置文件my.cnf
由于我们在编译安装mysql的时候设置了它的配置文件目录为/data/mysql,所以删掉/etc/my.cnf。
以免受影响。
>rm-rf/etc/my.cnf >vi/data/mysql/my.cnf
配置如下:
[client] default-character-set=utf8 port=3306 socket=/data/mysql/mysql.sock [mysql] default-character-set=utf8 [mysqld] skip-name-resolve basedir=/data/mysql datadir=/data/mysql/data port=3306 server_id=10 socket=/data/mysql/mysql.sock character-set-server=utf8 max_connections=200 default-storage-engine=INNODB log-bin=mysql-bin
为mysql添加开机启动
>cp/data/mysql/support-files/mysql.server/etc/init.d/mysqld >chmod755/etc/init.d/mysqld >chkconfig--addmysqld
启动mysql服务
>servicemysqldstart
为mysql添加环境变量
>echo"exportPATH=/data/mysql/bin/:$PATH">>/etc/profile >source/etc/profile
通过上面保存过的密码登陆mysql来修改root密码
>mysql-uroot-p >setpassword=password('123456'); >alteruser'root'@'localhost'passwordexpirenever; >flushprivileges;
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。