简介:

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

安装 :

安装部分分为手动bundle包安装及yum自动安装,下面将分别说明

手动安装:

1.准备安装介质

  系统:CentOS7.4 minimal   关闭selinux

  介质:mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

2.安装步骤

  [root@localhost]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps    #删除已有的mariadb包,否则会有冲突

  [root@localhost]# tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar    

  [root@localhost]# rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm

  [root@localhost]# rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm

  [root@localhost]# rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm

  [root@localhost]# rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm

  [root@localhost]# rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

YUM安装:

1.准备安装介质

  系统:CentOS7.4 minimal

2.安装步骤

  [root@localhost]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

  [root@localhost]# yum install wget -y

  [root@localhost]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

  [root@localhost]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm

  [root@localhost]# yum repolist enabled | grep "mysql.*-community.*"

  此步为验证步骤,有如下输出则说明安装成功

  mysql-connectors-community/x86_64 MySQL Connectors Community                  45
  mysql-tools-community/x86_64           MySQL Tools Community                           59
  mysql57-community/x86_64                 MySQL 5.7 Community Server                  247

  [root@localhost]# vi /etc/yum.repos.d/mysql-community.repo

  查看mysql5.7yum源为enable状态

  [root@localhost]# yum install mysql-community-server -y

  yum方式安装完成

基础配置:

  默认mysql初始化为把相关文件都生成到/var/lib下,我们初始化时指定自定义目录,注意修改该目录权限,否则无法写入

  [root@localhost]# mkdir -p /mysql/data

  [root@localhost]# chown -R mysql. /mysql

  [root@localhost]# mysqld --initialize --user=mysql  --datadir=/mysql/data

  执行初始化命令,新的数据库会生成在/mysql/data下,MySQL默认编码集为Latin,配置文件改为utf8mb4

  [root@localhost]#  sed -i 's/datadir\=\/var\/lib\/mysql/# datadir\=\/var\/lib\/mysql/g' /etc/my.cnf

  [root@localhost]# sed -i 's/socket\=\/var\/lib\/mysql\/mysql.sock/# socket\=\/var\/lib\/mysql\/mysql.sock/g' /etc/my.cnf

  [root@localhost]# echo  "datadir=/mysql/data">>/etc/my.cnf

  [root@localhost]# echo  "socket=/mysql/data/mysql.sock">>/etc/my.cnf

  [root@localhost]# echo  "character-set-server=utf8mb4">>/etc/my.cnf

  由于mysql默认的日志输出时间为UTC,所以默认情况下日志打印时间和系统时间会相差8小时,在此将打印时间修正为本地系统时间,这是日志系统的时间值设置,与默认时区没关系。

  [root@localhost]# echo  "log_timestamps=SYSTEM">>/etc/my.cnf

  buffer pool部分,将主机内存的70%-80%分配给数据库,且总内存需要大于1G,多实例buffer pool才生效。以4G内存为例:

  [root@localhost]# echo  "innodb_buffer_pool_chunk_size=1G">>/etc/my.cnf
  [root@localhost]# echo  "innodb_buffer_pool_size=4G">>/etc/my.cnf
  [root@localhost]# echo  "innodb_buffer_pool_instances=4">>/etc/my.cnf

  开启binlog,如果为测试环境可以不用开启归档,其中server_id指定为任意数字即可(保证该值集群内不重复),binlog_format是官方建议的row模式,log_bin路径最后的mysql-binlog为binlog的文件名,mysql会在指定路径下生成该文件名为前缀的索引文件(mysql-binlog.index)和binlog文件(mysql-binlog.000001),expire_logs_days指定了日志的过期时间,超期日志会被mysql自动删除。

  [root@localhost]# mkdir -p /mysql/mysql-binlog

  [root@localhost]# chown  mysql. /mysql/mysql-binlog

  [root@localhost]# echo "server-id=98">>/etc/my.cnf

  [root@localhost]# echo "log-bin=/mysql/mysql-binlog/mysql-binlog">>/etc/my.cnf

  [root@localhost]# echo "binlog_format=row">>/etc/my.cnf

  [root@localhost]# echo "expire_logs_days=7">>/etc/my.cnf

  以上为[mysqld]页签的修改项

  [root@localhost]# echo  "[client]">>/etc/my.cnf

  [root@localhost]# echo  "default-character-set=utf8mb4">>/etc/my.cnf

  [root@localhost]# echo  "socket=/mysql/data/mysql.sock">>/etc/my.cnf

  添加[client]设置,修改了mysql默认路径后,需要修改该项,否则本地访问时会报找不到mysql.sock

  启动mysql

  [root@localhost]# systemctl start mysqld

  找到/var/log/mysqld.log生成的默认密码,登录MySQL

  [root@localhost]# mysql -u root -p'xxxxxxx'

  mysql>SET PASSWORD = PASSWORD('new password');

  mysql> flush privileges;

  至此MySQL的基本安装和简单配置已经完成

 

 

 

Logo

快速构建 Web 应用程序

更多推荐