CentOS 下 MySQL 5.7 编译安装
MySQL5.7主要特性:
1—更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的
2—更好的InnoDB存储引擎
3—更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。此外,GTID在线平滑升级也变得可能
4—更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题
5—原生JSON类型的支持
6—更好的地理信息服务支持:InnoDB原生支持地理位置类型,支持GeoJSON,GeoHash特性
7—新增sys库:以后这会是DBA访问最频繁的库
安装依赖包
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
下载相应源码包
cd /home/quant_group/mysql #cd /your/download/path
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.11.tar.gz
文件目录创建
mkdir -p /home/quant_group/mysql/3306/data
mkdir -p /home/quant_group/mysql/3306/tmp
mkdir -p /home/quant_group/mysql/3306/log
我们在这里是把mysql安装到/home目录下,没有安装到/下,防止系统出问题丢失数据
添加mysql用户
useradd -M -s /sbin/nologin mysql
预编译
tar xzf boost_1_59_0.tar.gz
tar xzf mysql-5.7.11.tar.gz
cd mysql-5.7.11
cmake -DCMAKE_INSTALL_PREFIX=/home/quant_group/mysql/3306 \
-DMYSQL_DATADIR=/home/quant_group/mysql/3306/data \
-DWITH_BOOST=/home/quant_group/mysql/boost_1_59_0 \
-DSYSCONFDIR=/home/quant_group/mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1
编译安装
make
make install
启动脚本,设置开机自启动
/bin/cp /home/quant_group/mysql/3306/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
/etc/my.cnf,仅供参考
[mysqld]
basedir = /home/quant_group/mysql/3306
datadir = /home/quant_group/mysql/3306/data
tmpdir = /home/quant_group/mysql/3306/tmp
pid-file = /home/quant_group/mysql/3306/data/my.pid
port = 3306
default_storage_engine = InnoDB
innodb_autoinc_lock_mode = 2
explicit_defaults_for_timestamp = true
character-set-client-handshake = FALSE
character_set_server = utf8
skip-name-resolve
max_connect_errors = 1000000
max_allowed_packet = 1G
connect_timeout = 3600
wait_timeout = 3600
interactive_timeout = 3600
innodb_lock_wait_timeout = 10
slave-skip-errors = 1032,1062
log-error = /home/quant_group/mysql/3306/log/error.log
slow_query_log = on
slow_query_log_file = /home/quant_group/mysql/3306/log/slow-query-log.log
long_query_time = 1
log-queries-not-using-indexes
log-slow-admin-statements
log-slow-slave-statements
server-id = 100
log-bin = log-bin
binlog-format = ROW
初始化数据库
chown -R mysql:mysql /home/quant_group/mysql/3306/
cd /home/quant_group/mysql/3306/bin
./mysql_install_db --user=mysql --basedir=/home/quant_group/mysql/3306 --datadir=/home/quant_group/mysql/3306/data
###注:
之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃
"--initialize"会生成一个随机密码(~/.mysql_secret),而"--initialize-insecure"不会生成密码
--datadir目标目录下不能有数据文件
启动 数据库
service mysqld start
# 启动不了可能是权限问题,把 mysql/3306下面都赋予mysql用户权限就好啦
查看 密码
view /root/.mysql_secret
登录 数据库
mysql -uroot -p'.U,tH2Cf3vRj' #这边密码要加引号,要么然的话存在转义问题
如果提示 bash: mysql: command not found
那么vim /root/.bash_profile 将mysql 的命令加进去
比如:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# PATH=$PATH:$HOME/bin #修改前
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin #修改后
export PATH
然后 source /root/.bash_profile
然后修改密码,比如修改root用户的新密码为123456
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
如何删除数据库
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 将找到的相关东西delete掉;
rpm -qa|grep mysql(查询出来的东东yum remove掉)
创建用户
The create user command:
create user test identified by '123456';
上面建立的用户可以在任何地方登陆。
如果要限制在固定地址登陆,比如localhost 登陆:
create user test@登录主机 identified by '123456';
grant:
grant all privileges on *.* to test@登录主机
grant select,insert,update,delete on *.* to test@"%" Identified by "123456";
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
修改密码:
grant all privileges on 数据库.* to test@登录主机 identified by '654321';
flush:
flush privileges;
查看用户信息:
select host,user from mysql.user;
CentOS 下 MySQL 5.7 编译安装的更多相关文章
- CentOS下MySQL 5.7编译安装
CentOS下MySQL 5.7编译安装 文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...
- CentOS MySQL 5.7编译安装
CentOS MySQL 5.7编译安装 MySQL 5.7 GA版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 更好的性能: ...
- centos下mysql 5源码安装全过程记录
参考:http://blog.csdn.net/mycwq/article/details/24488691 安装cmake,mysql 5.5以后的版本要通过cmake进行编译 在新装的CentOS ...
- ubuntu下mysql源码编译安装
建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...
- centos 下nginx源码编译安装
1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...
- centos下httpd-2.4的编译安装
httpd-2.4编译安装 依赖于更高版本的apr和apr-util apr 全称 apache portable runtime 首先停用低版本的httpd服务 service ...
- Centos下Sphinx中文分词编译安装测试---CoreSeek
要支持中文分词,还需要下载Coreseek,可以去官方搜索下载,这里我用的4.1 百度云下载地址: https://pan.baidu.com/s/1slNIyHf tar -zxvf co ...
- CentOS下Mysql安装教程
CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...
- CentOS 下 MySQL 5.6 基于 RPM 的下载、安装、配置
CentOS 下 MySQL 5.6 基于 RPM 的下载.安装.配置 系统: CentOS 7 x86_64 MySQL 版本: 5.6.40 安装方式: RPM 下载 下载地址 操作系统 选择 R ...
随机推荐
- 安卓请求网络错误 直接在main Thread 进行网络操作出现maintreamexception
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites ...
- pythonl练习笔记——threading线程中的事件Event
1 事件Event 使用方法:e = threading.Event() Event对象主要用于线程间通信,确切地说是用于主线程控制其他线程的执行. Event事件提供了三个方法:wait等待.cle ...
- "Only the original thread that created a view hierarchy can touch its views.” 解决方法
这个主要总是,开启的线程和 UI 线程(主线程)不是同一个线程.可以Runnable方式避免,如下例所示就可以解决这个问题了. public static void updateText(Activi ...
- VS2010中遇到_WIN32_WINNT not defined
VS2010中编程时遇到这个问题 _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h) 解决办法: ...
- linux extundelete 删除文件恢复
extundelete是基于Linux的一个数据恢复工具,它通过分析文件系统的日志,解析出所有文件的inode信息,从而可以恢复Linux下主流的ext3,ext4文件系统下被误删除的文件. [问题案 ...
- mac下设置mongodb开机启动方法
Mac OS 的开机启动方式 launchd 是 Mac OS 下用于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第一个进程.其实它的作用就是我们平时说的守护进程,简单来说,用户守 ...
- linux下查看doc在线帮助文件
常看到某个linux下的工具,有带有doc结尾的文件,但是新手不知道如何查看. 我一番查找,终于知道了... 比如:ipython这个软件,在ubuntu里面,有ipython-doc的一个包. 安装 ...
- CSS中overflow:scroll怎么设置只上下滚动而不左右滚动
CSS中"overflow:scroll"默认是左右,上下都滚动.怎么设置只上下滚动而不左右滚动,下面有个不错的解决方法 CSS中"overflow:scroll&quo ...
- MVC4实现AJAX需要引用的2个文件
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/j ...
- [na]802.1x协议无线认证协议&dot1x有线认证实验
以前搞无线时候,会涉及到无线client接入方式的认证协议. 认证方式+加密方式+有线的dot1x. 注:以前都是doc粘贴到博客的,加上没写博客的习惯,因此会比较乱. EAP(扩展认证协议)是什么? ...