- 一、Mysql数据库特点:
- 二、mysql数据库相关设置
- 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">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
- password = your_password
- Here follows entries for some specific programs
- The MySQL server
- 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
- Uncomment the following if you want to log updates
- 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
- Remove the next comment character if you are not familiar with SQL
- safe-updates
一、Mysql数据库特点:
开源、关系型数据库、支持千万级别数据量的存储,大型的数据库;
非关系型数据库:
- 键值对:redis;
- 文档型:MongoDB;
- 搜索引擎数据库:ES,Solr;
- 列式数据库:HBase;
- 图形数据库:InfoGrid.
二、mysql数据库相关设置
查看数据库字符集
查看数据库比较级show create database table_name;show variables like 'character_%';
修改字符集(mysql8.0不需要修改,默认字符集为utf-8)show variables like 'collation_%';
- 查看mysql安装目录 ```sql select @@datadir; select @@basedir;
2. 修改配置文件查看my.cnf应该存在的位置```shellmysql --help|grep 'my.cnf'
- 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
4. 修改文件权限,不然启动会报错```shellsudo chmod 664 my.cnf
- 重新启动mysql,启动失败的话就重新启动一下电脑;
登录mysql,执行
show variables like 'character_%';
- mysql字符修改成功
修改数据库或表字符
alter database database_name charset utf8;alter table table_name charset utf8;
查看数据库和表字符
show create database database_name;show create table table_name;
