操作系统版本 | MacOS Monterey12.5.1 |
---|---|
mysql版本 | Mysql8.0.30 |
官网下载地址:https://dev.mysql.com/downloads/mysql/
说明:
- 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安装后是区分大小写的,需要我们修改my.cnf配置文件,修改完后还需要重新初始化mysql,下面假设我们已经修改好了my.cnf配置文件,现在说说如何初始化数据库。
如果拿我上面的my.cnf配置文件,正常情况下初始化就不会有问题了,我们的数据库也就能支持不区分大小写了。
- thread_stack = 256K # 原来设置的是128K
-