Mac上安装Mysql8.0修改my.cnf配置文件(忽略大小写)
文章目录
一. 基础信息
操作系统版本 | MacOS Monterey12.5.1 |
---|---|
mysql版本 | Mysql8.0.30 |
二.下载地址
官网下载地址:https://dev.mysql.com/downloads/mysql/
三. Mysql8.0安装
-
如上图所示,因为我们下载的是dmg文件,所以安装非常简单,只需要一路点下一步就好了。
-
默认安装完后我们打开电脑的
系统偏好设置
,可以看到如下图标:
-
点击这个图标,我们可以看到我们的mysql已经启动了,如果没有启动,可以点击
Start MySQL Server
这个按钮
说明:
Mysql默认安装路径为:/usr/local/mysql;
Mysql安装后不会生成my.cnf文件;
Mysql安装后默认是区分大小写的,要想不区分大小写,必须删除/usr/local/mysql/data目录,自己编写my.cnf配置文件,并在my.cnf文件中增加参数
lower_case_table_names = 1
,然后重新初始化数据库,最后重启Mysql服务;
四. 配置文件修改
我们上面说了,默认情况下安装Mysql后不会生成my.cnf配置文件,但是有些参数我们需要修改,比如:默认端口、最大连接数、大小写敏感等。
有些版本安装后可能会在support-file
文件目录下生成my-default.cnf
文件,如果有这个文件,我们可以自己复制该文件,并重命名为my.cnf
,如果没有就需要我们手动创建了,我就是自己创建的,文件内容如下,供参考:
# 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]
default-character-set=utf8
#password = your_password
port = 3336
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
port = 13306 # 我修改了默认端口
socket = /tmp/mysql.sock
lower_case_table_names = 1 # 是否对sql语句大小写敏感,1表示不敏感,即不区分大小写
skip-external-locking
key_buffer_size = 16K
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 = 256K # 该字段根据需要修改,默认是128K,我的是因为启动报了这个字段的错导致启动失败,所以我改成256K了
# 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
五. 初始化Mysql数据库
前面说到默认Mysql安装后是区分大小写的,需要我们修改my.cnf配置文件,修改完后还需要重新初始化mysql,下面假设我们已经修改好了my.cnf配置文件,现在说说如何初始化数据库。
-
如果已经有数据了必须先做好备份,具体如何备份我在这就不具体说了;
-
删除
/usr/local/mysql/data
目录; -
点击系统偏好设置,点击左下角的mysql图标,选择
Configuration
,下面勾选Configuration File
,并在后面选择我们编写好的my.cnf
配置文件,点击提交; -
再回到
Instances
页面,点击Initialize Database
,设置root密码,勾选Load configuraction file
,点击OK,这样就开始初始化了。
如果拿我上面的my.cnf
配置文件,正常情况下初始化就不会有问题了,我们的数据库也就能支持不区分大小写了。
六. 常见问题
-
初始化时报如下错误
如上报错有两个错误信息
第一个是说
my.cnf
配置文件中【mysqld】节点下的thread_stack
字段值设置太小;第二个是说
/usr/local/mysql-8.0.30-macos12-arm64/data/
目录不可用,需要我们先删除,然后再进行初始化;所以我们的解决方案就是
-
将mysqld】节点下的
thread_stack
字段值改大thread_stack = 256K # 原来设置的是128K
-
删除
/usr/local/mysql-8.0.30-macos12-arm64/data/
目录
-