本文实例讲述了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/nologin mysql

2、建立目录

> mkdir /data/mysql

3、改变目录拥有者和所属者

> chown -R mysql:mysql /data/mysql

4、安装编辑所需的文件

> yum install gcc gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel

(*mysql5.7.5以上版本需要安装boost)

> yum install boost boost-devel

5、解压源码包

> tar -xf mysql-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 && make install

复制配置文件

> 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 

如果出现如下信息:

unknown variable 'defaults-file=/data/mysql/my.cnf'

请保证--defaults-file配置选项在最前面。

如果出现如下信息:

[ERROR] --initialize specified but the data directory has files in it. Aborting.

请保证的你的datadir目录下为空,如果有文件则删除。

mysql5.7版本通过--initialize安装会随机生成root密码,请注意保存。

如果希望生成空密码请使用--initialize-insecure配置。

修改mysql目录拥有者

> chown -R mysql: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
> chmod 755 /etc/init.d/mysqld
> chkconfig --add mysqld

启动mysql服务

> service mysqld start

为mysql添加环境变量

> echo "export PATH=/data/mysql/bin/:$PATH"  /etc/profile
> source /etc/profile

通过上面保存过的密码登陆mysql来修改root密码

> mysql -uroot -p
> set password=password('123456');
> alter user 'root'@'localhost' password expire never;
> flush privileges;

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

希望本文所述对大家MySQL数据库计有所帮助。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。