MAC-MySQL文字セットをUTF-8に変更

6165 ワード

今日は2018/7/30で、私のMySQLバージョンは5.7.23で、ネット上でmysqlのデフォルト文字セットをutf-8に変更したチュートリアルをたくさん見て、私はすべて簡潔ではないと思って、そのため3つのステップをまとめました:
  • myを作成します.cnf;
  • は/etcディレクトリにコピーされます.
  • mysqlを再起動します.

  • データベース接続で使用されている文字セットの表示
    端末はmysqlにログインして入力します
    show variables like '%char%';

    1.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        = 3306
    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        = 3306
    socket      = /tmp/mysql.sock
    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 = 128K
    
    # 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

    2.書類をmy.cnfは/etcディレクトリにコピーされます.
    3.mysqlを再起動する