一、MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
二、安装MySQL 5.7
MySQL 官网下载MySQL 5.7二进制包 https://www.mysql.com
(1)创建mysql用户和组
# groupadd mysql
# useradd -M -s /sbin/nologin -g mysql mysql
(2)解压软件包,将其做好链接,通常我们会把自己安装的软件包放在 /usr/local/ 目录下
# tar -zxf /usr/local/src/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# cd /usr/local
# ln -s mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
(3)创建 mysql 的数据目录
# mkdir /usr/local/mysql/data
(4)将 mysql 的家目录以及数据目录都赋予 mysql用户组 和 mysql 用户的权限
# chown -R mysql:mysql /usr/local/mysql/
# chown -R mysql:mysql /usr/local/mysql/data/
(5)准备好 mysql 的配置文件 my.cnf
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock# The MySQL server
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
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
#skip-networking
log-bin=mysql-binbinlog_format=mixed
server-id = 1
# 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]
prompt="\u@\h \R:\m:\s[\d]> "
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M[mysqlhotcopy]
interactive-time