您当前的位置:首页 > 计算机 > 系统应用 > macOS

Mac上安装Mysql8.0修改my.cnf配置文件(忽略大小写)

时间:02-17来源:作者:点击数:

一. 基础信息

操作系统版本 MacOS Monterey12.5.1
mysql版本 Mysql8.0.30

二.下载地址

官网下载地址:https://dev.mysql.com/downloads/mysql/

image-20220909155805336

三. Mysql8.0安装

  1. 如上图所示,因为我们下载的是dmg文件,所以安装非常简单,只需要一路点下一步就好了。
  2. 默认安装完后我们打开电脑的系统偏好设置,可以看到如下图标:
image-20220909160415700
  1. 点击这个图标,我们可以看到我们的mysql已经启动了,如果没有启动,可以点击Start MySQL Server这个按钮
    image-20220909160653229

说明:

  1. Mysql默认安装路径为:/usr/local/mysql;
  2. Mysql安装后不会生成my.cnf文件;
  3. 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配置文件,现在说说如何初始化数据库。

  1. 如果已经有数据了必须先做好备份,具体如何备份我在这就不具体说了;
  2. 删除/usr/local/mysql/data目录;
  3. 点击系统偏好设置,点击左下角的mysql图标,选择Configuration,下面勾选Configuration File,并在后面选择我们编写好的my.cnf配置文件,点击提交;
    image-20220909174101605
  4. 再回到Instances页面,点击Initialize Database,设置root密码,勾选Load configuraction file,点击OK,这样就开始初始化了。
image-20220909175352137

如果拿我上面的my.cnf配置文件,正常情况下初始化就不会有问题了,我们的数据库也就能支持不区分大小写了。

六. 常见问题

  1. 初始化时报如下错误
    image-20220909180519149
    如上报错有两个错误信息
    第一个是说my.cnf配置文件中【mysqld】节点下的thread_stack字段值设置太小;
    第二个是说/usr/local/mysql-8.0.30-macos12-arm64/data/目录不可用,需要我们先删除,然后再进行初始化;
    所以我们的解决方案就是
    1. 将mysqld】节点下的thread_stack字段值改大
      thread_stack = 256K    # 原来设置的是128K
      
    2. 删除/usr/local/mysql-8.0.30-macos12-arm64/data/目录
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门