美文网首页
mac安装mysql8安装及报错

mac安装mysql8安装及报错

作者: 青乌 | 来源:发表于2022-11-26 21:54 被阅读0次

    参考:mac安装mysql8

    按照上面这个安装啥毛病没有。版本:8.0.31,官方下载。我自己没有删除data,只是创建了my.cnf粘贴了内容。

    1.在安装目录下创建文件my.cnf

    cd /usr/local/mysql-8.0.31-macos12-x86_64/support-files 
    sudo touch my.cnf
    vi my.cnf
    

    2.my.cnf编辑

    指令

    i            //进入编辑模式
    command+v    //粘贴内容
    esc          //退出编辑模式
    :wq          //保存
    
    

    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
    

    3.设置

    系统偏好设置>>mysql>>configuration>>勾选填写/usr/local/mysql/support-files/my.cnf
    系统偏好设置>>mysql>>Initailize Database>>勾选load configuration file

    问题

    1. Navicat连接2002 - Can't connect to server on '127.0.0.1' (36)

    这个就直接重新安装,选择第二项弱密码。

    2. command not found: mysql

    /usr/local/bin路径下面缺少mysql所致,它本身是mysql-8.0.31-macos12-x86_64,复制了这个内容是一样的。估计改名也是一条路,不过得把偏好设置那个引用路径也改了。或者安装的时候改名啥的。再或者环境变量设置这个名字,他自己本身configuration也用这个路径估计就不用复制mysql。大体就是路径问题。

    cd /usr/local/bin
    sudo ln -fs /usr/local/mysql/bin/mysql mysql
    
    3.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    启动一下MySQL,如果启动了就cd /tmp,rm mysql.sock把这个删了重启。
    启动就在偏好设置里,最下面有图标点进去就行。
    4.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    不配置my.conf的话,进来就是这个问题。密码错误,刚进来用安装设置的那个密码不行就这样了。踩了一圈坑,重置密码那个又会导致port连不上。会有以下结果

    mysql> show global variables like 'port';        //port--0
    mysql> show variables like 'skip_networking';    //on
    

    得去删除skip_networking,这个大概在data或者support-files 的某个地方,我也没找到。总之很麻烦。

    相关文章

      网友评论

          本文标题:mac安装mysql8安装及报错

          本文链接:https://www.haomeiwen.com/subject/eigcfdtx.html