CentOS6.9编译安装MySQL5.7.16

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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 root@localhost identified by '123456';

ok了










本文转自 wangpengtai  51CTO博客,原文链接:http://blog.51cto.com/wangpengtai/1919995,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
关系型数据库 MySQL Linux
centos7.0环境下安装MySql_8.0.12
centos7.0环境下安装MySql_8.0.12
|
1月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
144 3
|
2月前
|
关系型数据库 MySQL Linux
CentOS7环境下安装MySQL5.6
CentOS7环境下安装MySQL5.6
195 0
|
10天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
17 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
93 1
|
4天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
33 2
|
10天前
|
关系型数据库 MySQL Linux
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
48 0
|
存储 关系型数据库 MySQL
【MYSQL】—— MySQL 在 Centos 7环境安装
【MYSQL】—— MySQL 在 Centos 7环境安装
|
1月前
|
关系型数据库 MySQL Linux
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
178 0
|
2月前
|
NoSQL 应用服务中间件 Linux
CentOS7搭建MySQL+Redis+MongoDB+FastDF
CentOS7搭建MySQL+Redis+MongoDB+FastDF
138 0