MySQL数据库二进制安装初始化报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库二进制安装初始化报错相关的知识,希望对你有一定的参考价值。

系统环境是CentOS7.0,mysql版本mysql-5.6.34.tar,初始化/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/--datadir=/application/mysql/data --user=mysql 时始终报错FATAL ERROR: Could not find ./bin/my_print_defaults,网上有说是执行路径问题,更改路径后还是不行,参看图片2大概步骤是先cmake,make,make install然后建立软连接 ln -s /application/mysql-5.6.34/ /application/mysql然后初始化开始后就不停报错,麻烦各位大神看一下

参考技术A 启动这个试试看
/mysql/bin/mysqld_safe &
试试看我整理的笔记
1. 安装mysql
mysql-5.0.41-linux-i686-glibc23.tar.gz 由于mysql是二进制包。所以还是比较方便的。
直接解压。然后移动。
mv mysql-5.0.41-linux-x86_64-glibc23 /usr/local/mysql
cd /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
chown -R mysql .
chgrp -R mysql .
chown -R root .
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/www/mysql/data
cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig –add mysqld
chkconfig --level 3 mysqld on
mv /usr/local/mysql/data /home/www/mysql
chown -R mysql:mysql /home/www/mysql
编辑/etc/my.cnf
在 [mysqld] 段增加
datadir = /home/www/mysql
skip-innodb
wait-timeout = 10
max_connections = 512
max_connect_errors = 10000000
在 [mysqld] 段修改
max_allowed_packet = 16M
thread_cache_size = CPU个数*2
将 log-bin 注释
service mysqld start
bin/mysqladmin -u root -p

mysql报错

1. 环境说明

CentOS 6.5

[[email protected] ~]# uname -a

Linux linux-mysql02 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux


2. 问题描述

    编译安装MySQL-5.6.37和二进制安装MySQL-5.6.37,在初始化mysql后,它会自动在MYSQL_BASE目录下(/u02/mysql-5.6.37)生成一个my.cnf的文件,当然,在/etc/目录下,它也会自动生成my.cnf,但是在启动mysql之前被mv为my.cnf.bak了,所以mysql的第一生效文件就变为了/u02/mysql-5.6.37/my.cnf。

在需要配置binlog时,打开my.cnf看到mysqld模块下只有这一句没有注释的,在网上找了下资料(https://segmentfault.com/a/1190000005936172):

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

稍微看了下这个模块的作用,才有了注释掉,然后重新写个my.cnf


[[email protected] ~]# cat /etc/my.cnf

[client]

port            = 3306

socket          = /tmp/mysql.sock


[mysql]

no-auto-rehash


[mysqld]

user    = mysql

port    = 3306

#socket  = /tmp/mysql.sock

#basedir = /u02/mysql

datadir = /u02/mysql-5.6.37/data

open_files_limit    = 1024

back_log = 600

max_connections = 800

max_connect_errors = 3000

#table_cache = 614

external-locking = FALSE

max_allowed_packet =8M

sort_buffer_size = 1M

join_buffer_size = 1M

thread_cache_size = 100

thread_concurrency = 2

query_cache_size = 2M

query_cache_limit = 1M

query_cache_min_res_unit = 2k

#default_table_type = InnoDB

thread_stack = 192K

#transaction_isolation = READ-COMMITTED

tmp_table_size = 2M

max_heap_table_size = 2M

long_query_time = 1

#log_long_format

#log-error = /data/3306/error.log

##log-slow-queries = /data/3306/slow.log

##pid-file = /data/3306/mysql.pid

##log-bin = /tmp/mysql-bin

##relay-log = /data/3306/relay-bin

##relay-log-info-file = /data/3306/relay-log.info

binlog_cache_size = 1M

max_binlog_cache_size = 1M

max_binlog_size = 2M

expire_logs_days = 7

key_buffer_size = 16M

read_buffer_size = 1M

read_rnd_buffer_size = 1M

bulk_insert_buffer_size = 1M

#myisam_sort_buffer_size = 1M

#myisam_max_sort_file_size = 10G

#myisam_max_extra_sort_file_size = 10G

#myisam_repair_threads = 1

#myisam_recover


lower_case_table_names = 1

skip-name-resolve

slave-skip-errors = 1032,1062

replicate-ignore-db=mysql


server-id = 1


innodb_additional_mem_pool_size = 4M

innodb_buffer_pool_size = 32M

innodb_data_file_path = ibdata1:128M:autoextend

innodb_file_io_threads = 4

innodb_thread_concurrency = 8

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 4M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

innodb_file_per_table = 0

[mysqldump]

quick

max_allowed_packet = 2M


[mysqld_safe]

log-error=/tmp/mysql_oldboy3306.err

##pid-file=/data/3306/mysqld.pid


保存退出,重新启动:

[[email protected] data]# /etc/init.d/mysqld start                   

Starting MySQL. ERROR! The server quit without updating PID file (/u02/mysql-5.6.37/data/linux-mysql02.pid).

报错!!!

查看错误日志:

[[email protected] data]# vim /tmp/mysql_oldboy3306.err

2017-08-12 18:13:18 28414 [ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 768 pages (rounded down to MB) than specified

in the .cnf file: initial 8192 pages, max 0 (relevant if non-zero) pages!

2017-08-12 18:13:18 28414 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablesp

ace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created i

n this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data fi

les which contain your precious data!

2017-08-12 18:13:18 28414 [ERROR] Plugin ‘InnoDB‘ init function returned error.

2017-08-12 18:13:18 28414 [ERROR] Plugin ‘InnoDB‘ registration as a STORAGE ENGINE failed.

2017-08-12 18:13:18 28414 [ERROR] Unknown/unsupported storage engine: InnoDB

2017-08-12 18:13:18 28414 [ERROR] Aborting


1、原来的ibdata1大小为:768*16/1024=12M 

2、当前ibdata1被修改为:8192*16/1024=128M

 innodb_data_file_path = ibdata1:128M:autoextend

发现我现在的大小就是128M,这边改为12M试试


[[email protected] data]# /etc/init.d/mysqld start      

Starting MySQL.. SUCCESS! 

成功启动!!!


本文出自 “10732668” 博客,请务必保留此出处http://10742668.blog.51cto.com/10732668/1955798

以上是关于MySQL数据库二进制安装初始化报错的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL5.7的安装(yum二进制编译安装)

mysql报错

腾讯云二进制包安装mysql报错及其解决方法

MySQL二进制安装

在Centos系统中安装Mysql-5.5.52报错

二进制安装MySQL