MySQL数据库下载于安装;Windows版本和Linux绿色版

MySQL数据库下载与安装

  • MySQL 下载
    • MySQL 最高版本下载
    • MySQL其他版本下载
  • MySQL 安装
    • Windows系统安装MySQL
    • Linux系统安装MySQL

MySQL 下载

MySQL分为E版和C版;
E版–企业版(MySQL Enterprise Edition);收费,功能比C版强大。
C版–社区版(MySQL Community(GPL));开源,本文章只适用于C版。
在官网下载时,GA版本为稳定版本。
MySQL官网网址:https://www.mysql.com/

MySQL 最高版本下载

MySQL数据库下载于安装;Windows版本和Linux绿色版_第1张图片
1.点击DOWNLOADS
MySQL数据库下载于安装;Windows版本和Linux绿色版_第2张图片
2.点击MySQL Community (GPL) Downloads »前往最新版本下载页面。
MySQL数据库下载于安装;Windows版本和Linux绿色版_第3张图片3.点击MySQL Community Server,进入下载页面;
MySQL数据库下载于安装;Windows版本和Linux绿色版_第4张图片
Windows:
MySQL数据库下载于安装;Windows版本和Linux绿色版_第5张图片
Linux:
MySQL数据库下载于安装;Windows版本和Linux绿色版_第6张图片
4.根据自己的需求选择安装版本点击Download下载;
注意选择不带test名的安装包下载,注意系统属性

MySQL其他版本下载

登录MySQL官网,点击DOWNLOADS,然后点击MySQL Community (GPL) Downloads »,进入如下页面:
MySQL数据库下载于安装;Windows版本和Linux绿色版_第7张图片
然后点击Download Archives,前往归档(历史)版本下载。
MySQL数据库下载于安装;Windows版本和Linux绿色版_第8张图片
点击MySQL Community Server
MySQL数据库下载于安装;Windows版本和Linux绿色版_第9张图片
然后选择版本号及操作系统,再点击Download下载。

MySQL 安装

Windows系统安装MySQL

1.解压
下载好的文件
直接双击之前下载的文件解压。
2.配置环境变量
MYSQL_HOME = D:\mysql-5.7.28-winx64
path添加%MYSQL_HOME%\bin
3.新建data,my.ini
MySQL数据库下载于安装;Windows版本和Linux绿色版_第10张图片
my.ini 中输入内容

[mysqld]
port = 3306
skip-grant-tables
basedir=D:\mysql-5.7.28-winx64
datadir=D:\mysql-5.7.28-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8

里面的路径要和自己安装mysql的路径和一致

启动MySQL 可能出现的错误:
MySQL数据库下载于安装;Windows版本和Linux绿色版_第11张图片
这是因为没有安装如下软件导致的,点击如下链接,下载vcredist.

下载 vcredist 地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
MySQL数据库下载于安装;Windows版本和Linux绿色版_第12张图片
点击下载,安装即可,安装好后,在执行该命令即可。

Linux系统安装MySQL

创建软件目录

[root@db01 ~]# mkdir -p /app/
上传软件到此目录

解压并改名为mysql

[root@db01 app]# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
[root@db01 app]# ls -l /app/mysql/
total 36
drwxr-xr-x  2 root root   4096 Mar  4 14:55 bin
-rw-r--r--  1 7161 31415 17987 Sep 13  2017 COPYING
drwxr-xr-x  2 root root     55 Mar  4 14:55 docs
drwxr-xr-x  3 root root   4096 Mar  4 14:55 include
drwxr-xr-x  5 root root    229 Mar  4 14:55 lib
drwxr-xr-x  4 root root     30 Mar  4 14:55 man
-rw-r--r--  1 7161 31415  2478 Sep 13  2017 README
drwxr-xr-x 28 root root   4096 Mar  4 14:55 share
drwxr-xr-x  2 root root     90 Mar  4 14:55 support-files

修改环境变量:

vim /etc/profile
export PATH=/app/mysql/bin:$PATH
[root@db01 bin]# source /etc/profile

建立mysql用户和组(如果已有可忽略)

 useradd mysql 

创建相关目录并修改权限

 mkdir /data/mysql -p 
 chown -R mysql.mysql /app/*
 chown -R mysql.mysql /data/*

初始化数据(建库)
方法一:

初始化数据,初始化管理员的临时密码

mysqld --initialize  --user=mysql --basedir=/app/mysql --datadir=/data/mysql

2019-04-18T03:21:53.381108Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-18T03:21:54.583415Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-18T03:21:54.697859Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-18T03:21:54.760821Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1daa0c57-6189-11e9-bc80-000c294234c8.
2019-04-18T03:21:54.770856Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-18T03:21:54.772016Z 1 [Note] A temporary password is generated for root@localhost: 9LN.fh_Ea#uU

可能出现的错误:
在这里插入图片描述

报错原因: Linux系统中缺少libaio-devel 软件包
解决:
yum install -y libaio-devel

在这里插入图片描述

报错原因:
在/data/mysql 存在文件
解决:
\rm -rf /data/mysql/*

新特性重要说明:
5.7开始,MySQL加入了全新的 密码的安全机制:
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位。复杂度:字符混乱组合
3.密码过期时间180天

方法二:

初始化数据,初始化管理员的密码为空

\rm -rf  /data/mysql/*
[root@db01 ~]# mysqld --initialize-insecure  --user=mysql --basedir=/app/mysql --datadir=/data/mysql

2019-04-18T03:37:43.146018Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-18T03:37:43.892132Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-18T03:37:43.970412Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-18T03:37:44.029490Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5378f3b3-618b-11e9-9164-000c294234c8.
2019-04-18T03:37:44.041469Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-18T03:37:44.042348Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
[root@db01 ~]# 

[root@db01 ~]# cd /data/mysql/
[root@db01 mysql]# ll
total 110628
-rw-r----- 1 mysql mysql       56 Apr 18 11:37 auto.cnf
-rw-r----- 1 mysql mysql      419 Apr 18 11:37 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Apr 18 11:37 ibdata1
-rw-r----- 1 mysql mysql 50331648 Apr 18 11:37 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Apr 18 11:37 ib_logfile1
drwxr-x--- 2 mysql mysql     4096 Apr 18 11:37 mysql
drwxr-x--- 2 mysql mysql     8192 Apr 18 11:37 performance_schema
drwxr-x--- 2 mysql mysql     8192 Apr 18 11:37 sys
[root@db01 mysql]# 

注释:5.6初始化的区别

/application/mysql/scripts/mysql_install_db  --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql

书写默认配置文件

vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=3306 [\\d]>

配置启动脚本:

[root@db01 mysql]# cd /app/mysql/support-files
[root@db01 support-files]# ./mysql.server start
Starting MySQL.Logging to '/data/mysql/db01.err'.
 SUCCESS! 
cp mysql.server    /etc/init.d/mysqld

使用systemd管理mysql

vim /etc/systemd/system/mysqld.service 
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

注意:
将原来模式启动mysqld先关闭,然后再用systemd管理。

systemctl  start/stop/restart/status   mysqld

你可能感兴趣的:(MySQL,mysql,数据库)