my.cnf文件具体解析:
https://www.cnblogs.com/djwhome/p/12543849.html
mysql5.5安装好找不到my.cnf————瞬间明白!
https://blog.csdn.net/fy_1852003327/article/details/105906372?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-2.nonecase
要想解决这个问题,就是将mysql启动自动使用的目录中的几种配置文件选择其中的一种复制为my.cnf,此时要记得先关闭数据库
sudo /usr/local/MySQL/support-files/mysql.server stop
1.找到mysql启动自动使用的目录,在mysql安装成功后自启动目录中会看到my-small.ini、my-medium.ini、my-large.ini、my-huge.ini几种配置文件,下面显示分别用于不同的硬件环境下的配置文件:
my-small.cnf (内存 <= 64M)
my-medium.cnf (内存 128M)
my-large.cnf (内存 512M)
my-huge.cnf (内存 1G-2G)
my-innodb-heavy-4G.cnf (内存 4GB)
2.这里我的内存设置为1G,所以将my-huge.cnf复制到/etc/下并改名字为my.cnf
cp my-huge.cnf /etc/my.cnf
**3.按需修改,这样就有一个没错的my.cnf啦~不要去别人那里复制会报错 **
3.Mysql导入数据结构时报错[ERR] 1067 - Invalid default value for ‘字段’
A.如果字段为data相关:
修改my.cnf文件
https://blog.csdn.net/lihao19910921/article/details/81534201?utm_medium=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.wap_blog_relevant_pic&depth_1-utm_source=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.wap_blog_relevant_pic
1.在[mysqld]中修改添加:
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2.给文件权限后重新启动
sudo chmod 664 /etc/my.cnf
B.错误因字段问题:修改mysql数据库的默认编码方式:UTF8
https://blog.csdn.net/weixin_42329733/article/details/113333120
将MySQL默认编码修改为UTF-8呢?只需在my.ini中的[mysqld]组名的末尾添加:character-set-server=utf8
即可。
那mysqld:unknown variable 'default-character-set=utf8’的错误原因是什么呢?因为参数:default-character-set=utf8 在较新版本的MySQL 中已移除。所以,建议高版本的MySQL使用”character-set-server
“,而不要使用“default-character- set”。
C.导入的时候仔细查看一下报错日志,去sql文件中查看该字段,可能忘记少加逗号了。。。。不要问我怎么知道的 是我浪费一天时间换来的
附上我的my.cnf-----版本是mysql@5.5
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
character-set-server=utf8
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
server-id = 1
# Uncomment the following if you want to log updates
#log-bin=mysql-bin
# binary logging format - mixed recommended
#binlog_format=mixed
# Causes updates to non-transactional engines using statement format to be
# written directly to binary log. Before using this option make sure that
# there are no dependencies between transactional and non-transactional
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM
# t_innodb; otherwise, slaves may diverge from the master.
#binlog_direct_non_transactional_updates=TRUE
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql/data
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout