MySQL 安装和配置

官方文档非常的全面,但是通过常规搜索引擎搜索时很难直接看到,因此本文以官网为主,这里只涉及整个过程的关键部分。

官方文档:https://dev.mysql.com/doc/refman/5.7/en/installing.html
包含各种操作系统的详细安装步骤。

官方下载:https://downloads.mysql.com/archives/
这个地址可以选择所有版本进行下载
MySQL 对应的地址: https://downloads.mysql.com/archives/community/
页面如下:
在这里插入图片描述
可选版本:
在这里插入图片描述
操作系统:
在这里插入图片描述

1. 安装

1.1 Windows

官方文档:https://dev.mysql.com/doc/refman/5.7/en/windows-installation.html

虽然最简单推荐的方法是下载MySQL Installer(适用于Windows),并让其在系统上安装和配置所有MySQL产品。但是本文不推荐,因此如果想要使用这种方法,请参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/mysql-installer.html

本文推荐的方式是下载压缩包,完全自主控制整个安装和配置的过程。

下载地址:https://downloads.mysql.com/archives/community/

从上面地址下载 zip 压缩包,然后解压到一个目录,比如 c:/mysql5.7/。将 mysql 的 bin 目录配置到系统环境变量 path 中。临时在 CMD 执行的时候,可以使用类似下面的方式设置临时的环境变量:

> set path="c:/mysql5.7/bin/";%path%;

解压就是安装,完全的绿色版。

1.2 Linux

官方文档:https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html

1.2.1 安装 yum 存储库

这里针对 CentOS 的 yum 方式说明。下载 RPM 包:

下载地址:https://dev.mysql.com/downloads/repo/yum/

下载 rpm 后,使用下列命令安装 yum 存储库:

sudo yum localinstall xxx.rpm
1.2.2 选择安装版本

通过下面命令查询当前选择的版本:

yum repolist enabled | grep "mysql.*-community.*"

默认选择的最新版本。使用下面命令查看所有可选版本

yum repolist all | grep mysql

通过下面命令选择要安装的版本:

sudo yum-config-manager --disable mysql57-community
sudo yum-config-manager --enable mysql56-community

除了上面命令方式外,还可以通过手动编辑 /etc/yum.repos.d/mysql-community.repo 文件来选择版本:

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

查找要配置的存储库的条目,然后编辑 enabled 选项。指定 enabled=0 禁用存储库或 enabled=1 启用存储库。
验证选择:

yum repolist enabled | grep mysql
1.2.3 安装

使用下面命令安装:

sudo yum install mysql-community-server

2. 配置

安装MySQL之后,必须初始化数据目录,包括mysql系统数据库中的表。

https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.html

配置前,先通过下面命令查看 MySQL 的基本信息:

mysqld --verbose --help

这个命令会输出非常多的信息,部分关键信息如下。

Windows 上:
在这里插入图片描述
Linux 上:
在这里插入图片描述
从这部分可以看到默认配置文件位置的优先顺序,我们可以在合适的位置创建该配置,然后配置数据目录。

比如 Windows 的 my.cnf
在这里插入图片描述
Linux 的 /etc/my.cnf
在这里插入图片描述

必看!!!目录权限说明
参考:初始化数据目录
下面的配置中有 /data/mysql/data 和 log
这些目录必须分配给 mysql 用户和 mysql 组。
例如:

chown mysql:mysql /data/mysql/data
chown mysql:mysql /data/mysql/log
chmod 750 /data/mysql/data
chmod 750 /data/mysql/log

如果权限不对,在启动服务时会出错。

做好基础配置后,执行命令初始化,mysqld 初始化时两个参数说明:

  • 使用 --initialize “ 默认安全 ”安装(即包括生成随机初始的 root密码)。在这种情况下,密码被标记为已过期,您将需要选择一个新密码。

  • 使用 --initialize-insecure,不会root生成密码。这是不安全的;假定您在将服务器投入生产使用之前会及时为帐户分配密码。

执行下面的其中一个命令:

./mysqld --initialize --user=mysql
./mysqld --initialize-insecure --user=mysql

重点提醒
这里之前写的是 --user=root,这是非常不对的!!!
因为 mysqld 服务是以 mysql 用户和组运行的,所以上面初始化目录的时候,必须用 mysql 用户,否则生成的文件权限都是 root:root

这之后就会在 datadir 下面生成基础表和数据。

其他一些配置参考这里: MySQL 主从配置以及 Docker 方式演练

3. 启动

3.1 Windows

直接运行 mysqld即可启动,这里可以配置为服务自动启动,使用下面命令安装服务:

mysqld --install

使用下面命令启动或关闭(也可以通过服务管理界面鼠标操作):

net start mysql
net stop mysql

删除服务
sc delete mysql

3.2 Linux

通过 systemctl 操作即可。
例如:

  • 启动:systemctl start mysqld
  • 关闭:systemctl stop mysqld
  • 重启:systemctl restart mysqld
  • 开机启动:systemctl enable mysqld

4. 用户和密码配置

服务启动后,使用下面命令登录系统:

mysql -uroot -p

如果是安全模式,上面初始化时会生成随机密码,如果不是安全模式,默认没有密码。

登录系统后,可以通过下面的命令配置新的密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

如果需要 MySQL 可以被远程访问,可以添加下面的账号:

CREATE USER 'root'@'%' IDENTIFIED BY 'root-password';

也可以直接修改默认的 localhost,如下 SQL:

use mysql;
update user set host = '%' where user = 'root';

附加
由于我个人在导入备份时经常遇到下面的错误:

ERROR 1449 <HY000> at line xxx: The user specified as a definer <;root'@'%'> does not exist

可能还需要重新给 root 分配权限:

GRANT ALL ON *.* TO root;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

isea533

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值