CentOS6.9编译安装MySQL5.7.16

部署环境:

系统CentOS6.9,mysql5.7.16,boost库

系统为2G内存

1、安装依赖包,使用yum安装cmake,6.9默认yum源自带

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

2、创建mysql的用户:

useradd  -U -s /sbin/nologin mysql

3、创建必要的文件夹,并修改其目录用户所有者:

mkdir -pv /usr/local/mysql/etc

mkdir -pv /data/{boost/boost_1_59_0,mysql/{data,log}}

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

chown -R mysql:mysql /data/mysql/

4、将boots库拷贝到boost目录下

cp /tmp/boost/boost_1_59_0/* /data/boost/boost_1_59_0

chown -R mysql:mysql /data/boost/

5、编译安装mysql5.7

cd /tmp

tar xf mysql-5.7.16.tar.gz

cd mysql-5.7.16

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mysql/data \

-DSYSCONFDIR=/usr/local/mysql/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/data/mysql/log/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 \

-DWITH_BOOST=/data/boost/boost_1_59_0

make && make install

时间比较长

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

6、配置文件my.cnf

[client]

port    = 3306

socket  = /data/mysql/log/mysql.sock

[mysql]

default-character-set = utf8

[mysqld]

# file

datadir =/data/mysql/data

basedir = /usr/local/mysql

pid-file =/data/mysql/log/mysqld.pid

log_error = /data/mysql/log/mysql.err

port = 3306

socket=/data/mysql/mysql.sock

user=mysql

character_set_server = utf8

character_set_server = utf8

slow_query_log = 1

slow_query_log_file = /data/mysql/log/slowq.log

long_query_time = 1

log-bin=/data/mysql/log/mysql-bin.log

# temp

max_tmp_tables = 64

tmp_table_size = 512M

slave_load_tmpdir = /data/mysql/log

tmpdir = /data/mysql/log

# session

back_log = 512

skip-name-resolve

max_allowed_packet = 32M

max_connections = 16000

max_connect_errors = 10000

wait_timeout = 28800

table_open_cache = 216

thread_cache_size = 128

query_cache_type = 0

query_cache_size = 0

key_buffer_size = 128M

myisam_sort_buffer_size = 16M

read_buffer_size = 16M

read_rnd_buffer_size = 16M

sort_buffer_size = 16M

join_buffer_size = 16M

# innodb

default_storage_engine = InnoDB

innodb_data_home_dir = /data/mysql/data

innodb_data_file_path = ibdata1:256M:autoextend

innodb_log_group_home_dir = /data/mysql/log

innodb_log_files_in_group = 4

innodb_log_file_size = 256M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 2

innodb_flush_method = O_DIRECT

innodb_lock_wait_timeout = 50

#innodb_thread_concurrency = 24 16

innodb_buffer_pool_size = 1G

innodb_io_capacity = 1500

innodb_use_native_aio = 1

innodb_file_per_table = 1

innodb_open_files = 3000

# others

memlock = 1

performance_schema = 0

# replication

server-id = 150

binlog_format = row

expire_logs_days = 7

relay_log = /data/mysql/log/relay-bin

#replicate_ignore_db = mysql

#slave_skip_errors = 1062

log_slave_updates = 1

skip-slave-start

read_only = 0

sync_binlog = 1

[mysqldump]

default-character-set = utf8

[mysqld-5.7]

innodb_buffer_pool_dump_pct = 40

innodb_undo_log_truncate = 1

innodb_undo_tablespaces = 3

innodb_max_undo_log_size = 1G

innodb_purge_rseg_truncate_frequency = 128

binlog_gtid_simple_recovery=1

log_timestamps=system

show_compatibility_56=on

sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘

7、初始化数据库

版本在5.7.6前用的是mysql_install_db

版本5.7.6之后使用的mysqld --initialize

#####################官网标注#####################################

shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5

shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up

shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up

#####################官网标注#####################################

/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql

可能会出现内存不够的报错,自己优化下调节一下buffer大小就行了

/usr/local/mysql/bin/mysql_ssl_rsa_setup

没有打印日志,临时密码不能用,只好破解了,后面有方法。

8、启动数据库

vim /usr/local/mysql/support-files/mysql.server

加上绝对路径

basedir=/usr/local/mysql

datadir=/data/mysql/data

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

service mysqld start

9、配置环境变量

vim /etc/profile

export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

10、查看mysql临时密码,这项我这不用了,不好使,直接破解了。

cat /root/.mysql_secret

mysql -uroot -p`cat /root/.mysql_secret`

如果能进去,基本上到这就截止了,可以正常使用了。

**不能正常登录,使用临时密码无法等进去**

11、破解密码

mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf --skip-grant-tables --skip-networking&

update mysql.user set authentication_string=password(‘123456‘) where user=‘root‘;

11.1、查找进程号,杀掉mysql进程

ps aux | grep mysql

kill -9 pid

service mysqld start

11.2、登录mysql

mysql -u root -p ‘password‘

提示修改密码:

mysql> alter user [email protected] identified by ‘123456‘;

ok了

时间: 2024-10-14 15:42:43

CentOS6.9编译安装MySQL5.7.16的相关文章

centos6.7编译安装mysql5.7.17

centos6.7编译安装mysql5.7.17 2017-03-24 09:57:15 提示:mysql5.7.17和之前5.56以前的版本安装不一样,需要用cmake 另外,看本文档的mysql编译前我说一点,第一次一定要大概的看完整个过程,不能一直跟着文档做,否则后面容易遇到问题.比如编译完会特别占用磁盘空间,万一之前分配的空间不够,那样就会丢失很多重要文件导致失败. 安装前工作: 1,从官方网址下载MySQL5.7.17源码包 http://dev.MySQL.com/downloads

centos6.5编译安装mysql5.6.20

一.   准备工作 1     yum安装各个依赖包 [[email protected] ~]# yum –y install gcc gcc-devel gcc-c++ gcc-c++-devel  zlib*  ncurses-devel ncurses openssl openssl-devel bison bison-devel libaio [[email protected] ~]# yum –y install cmake 2.新建mysql组和用户 [[email protec

CetOS6.5下编译安装Mysql5.6.16

首先检查是否安装了mysql rpm -qa | grep -i mysql#如果安装了先卸载旧的版本yum remove -y mysql mysql-server mysql-libs mysql-devel(具体根据列出的列表将mysql相关的项都卸载了) 删除所有mysql相关的残留文件,可用find / -name mysql查找所有与mysql相关的目录 rm -rf /var/lib64/mysql rm -rf /etc/my.cnf rm -rf /var/lib/mysql(

centos下编译安装MySQL5.7.16

一.简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语言是用

centos7.x编译安装mysql5.7.16

对于5.7以后的mysql编译安装,我遇到了不少坑,各种问题.mysql5.7.18编译openssl会出错,环境也神奇地报其他问题,即使我安装成功了,却无法以安装模式登陆mysql修改密码. 最后使用前几个版本就解决问题了.我使用的是5.7.16. #系统安装条件 1> cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数.如:安装目录.数据存放目录.字符编码.排序规则等.安装最新版本即可. 2> make3.75 mysql源代码是由C和C++语言编写,在

centos6.5编译安装mysql5.6.14

1 查看机器上是否装有mysql rpm -qa | grep mysql 2. 删除已经存在的mysql rpm -e --nodeps mysql ()强力删除模式) 3.安装编译代码需要的包 yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-de

CentOS6.5编译安装MySQL5.5

安装依赖包: yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* 安装cmake: [[email protected] usr]# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz [[email protected] usr]# tar xzvf cmake-2.8.12.tar.gz 

centos6.5编译安装mysql5.7.11

1.安装相关依赖包 yum -y install gcc* autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libmcrypt* libtool-ltdl-devel* 2.需要安装个包 安装cmake [email protected] src]# tar zxvf cmake-2.8.5.tar.gz [[email protected] src]# cd cmake-2.8.5 [[email protected

centos6.5 编译安装Mysql5.7.17

一.安装环境准备 centos 6.5 二.下载mysql source_code  这里说一下,进入myql下载页面后选择source_code:  然后选择 Generic Linux (Architecture Independent), Compressed TAR Archive   Includes Boost Headers 这个包下载.  也可以用下面的地址:  wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boo