一、Mysql数据库特点:

开源、关系型数据库、支持千万级别数据量的存储,大型的数据库;
非关系型数据库:

  • 键值对:redis;
  • 文档型:MongoDB;
  • 搜索引擎数据库:ES,Solr;
  • 列式数据库:HBase;
  • 图形数据库:InfoGrid.

    二、mysql数据库相关设置

    查看数据库字符集
    1. show create database table_name;
    2. show variables like 'character_%';
    查看数据库比较级
    1. show variables like 'collation_%';
    修改字符集(mysql8.0不需要修改,默认字符集为utf-8)
  1. 查看mysql安装目录 ```sql select @@datadir; select @@basedir;
  1. 2. 修改配置文件
  2. 查看my.cnf应该存在的位置
  3. ```shell
  4. mysql --help|grep 'my.cnf'
  1. mac版本默认没有my.cnf配置文件,可以找一个配置文件,将配置文件拷贝到上面查到的目录中的一个地址 ```shell

    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

[mysqld] transaction-isolation=READ-COMMITTED

  1. 4. 修改文件权限,不然启动会报错
  2. ```shell
  3. sudo chmod 664 my.cnf
  1. 重新启动mysql,启动失败的话就重新启动一下电脑;

登录mysql,执行

  1. show variables like 'character_%';
  1. mysql字符修改成功
  2. 修改数据库或表字符

    1. alter database database_name charset utf8;
    2. alter table table_name charset utf8;
  3. 查看数据库和表字符

    1. show create database database_name;
    2. show create table table_name;