MySQL安装之编码设置的图文详解

一、mysql的安装

  从官网中下载Mac OS X 10.12 (x86, 64-bit), DMG Archive(mysql-5.7.19-macos10.12-x86_64.dmg)版,双击按提示安装,安装完成后可在控制面板下启动关闭MySQL服务器,

MySQL安装之编码设置的图文详解

  同时安装客户端:MySQL Workbench.app,

MySQL安装之编码设置的图文详解

  启动MySQL服务器,打开MySQL Workbench,输入初始密码,随即提示修改初始密码。

二、设置Terminal下登录路径:

  在/Users/**/新建文件:.bash_profile

  文件中输入:

export PATH=${PATH}:/usr/local/mysql/bin

   保存即可。在Terminal下,即可使用”mysql -u root -p”进行登录。

三、数据库编码问题

      在Terminal中登录MySQL客户端(mysql -u root -p)查看数据库编码,命令如下:

mysql> SHOW VARIABLES LIKE 'char%';

  发现

character_set_database | latin1  character_set_server | latin1

  需要进行编码设置,但安装文件里无my.cnf文件,网上很多解决方法都没用,只能自建my.cnf文件。

  关闭MySQL服务器,使用MacVim创建my.cnf,输入内容为:

# Example MySQL config file for medium systems.      #      # This is for a system with little memory (32M - 64M) where MySQL plays      # an important part, or systems up to 128M where MySQL is used together with      # other programs (such as a web server)      #      # 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]    character-set-server=utf8    init_connect='SET NAMES utf8    port        = 3306      socket      = /tmp/mysql.sock      skip-external-locking      key_buffer_size = 16M      max_allowed_packet = 1M      table_open_cache = 64      sort_buffer_size = 512K      net_buffer_length = 8K      read_buffer_size = 256K      read_rnd_buffer_size = 512K      myisam_sort_buffer_size = 8M      character-set-server=utf8      init_connect='SET NAMES utf8' # 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    # (via the "enable-named-pipe" option) will render mysqld useless!  #     #skip-networking        # Replication Master Server (default)      # binary logging is required for replication      log-bin=mysql-bin          # binary logging format - mixed recommended        binlog_format=mixed            # required unique id between 1 and 2^32 - 1          # defaults to 1 if master-host is not set          # but will not function as a master if omitted          server-id   = 1          # Replication Slave (comment out master section to use this)        #        # To configure this host as a replication slave, you can choose between        # two methods :        #        # 1) Use the CHANGE MASTER TO command (fully described in our manual) -        #    the syntax is:        #        #    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,        #    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;        #        #    where you replace <host>, <user>, <password> by quoted strings and        #    <port> by the master's port number (3306 by default).      #        #    Example:        #        #    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,        #    MASTER_USER='joe', MASTER_PASSWORD='secret';        #        # OR        #        # 2) Set the variables below. However, in case you choose this method, then        #    start replication for the first time (even unsuccessfully, for example        #    if you mistyped the password in master-password and the slave fails to        #    connect), the slave will create a master.info file, and any later        #    change in this file to the variables' values below will be ignored and      #    overridden by the content of the master.info file, unless you shutdown        #    the slave server, delete master.info and restart the slaver server.        #    For that reason, you may want to leave the lines below untouched        #    (commented) and instead use CHANGE MASTER TO (see above)        #        # required unique id between 2 and 2^32 - 1        # (and different from the master)        # defaults to 2 if master-host is set        # but will not function as a slave if omitted        #server-id       = 2        #        # The replication master for this slave - required        #master-host     =   <hostname>        #        # The username the slave will use for authentication when connecting        # to the master - required        #master-user     =   <username>        #        # The password the slave will authenticate with when connecting to        # the master - required        #master-password =   <password>        #        # The port the master is listening on.        # optional - defaults to 3306        #master-port     =  <port>        #        # binary logging - not required for slaves, but recommended        #log-bin=mysql-bin            # 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              default-character-set=utf8               [myisamchk]            key_buffer_size = 20M            sort_buffer_size = 20M            read_buffer = 2M            write_buffer = 2M                [mysqlhotcopy]              interactive-timeout</port></password></username></hostname></port></password></user></host></password></user></port></host>

  保存并将文件存在至/etc/目录之下,重启mysql服务器,即修改成功,

            如果还是不能插入汉字,请重新创建数据库和表。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享