Mysql]安装总节

在Linux(CentOS)上安装

版本:5.7

CentOS安装mysql

1. 下载并安装MySQL官方的 Yum Repository

需要使用到wget,如果你还没有安装参考如下:

Linux(centos)安装基本软件


$ wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

$ yum -y install mysql57-community-release-el7-10.noarch.rpm

$ yum -y install mysql-community-server

2. MySQL数据库设置

首先启动MySQL

#启动MySQL
systemctl start  mysqld.service 

#查看MySQL运行状态
systemctl status mysqld.service

#抓密码
grep "password" /var/log/mysqld.log

#进入数据库
mysql -uroot -p


3. 进MySql改密码

# 输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这里有个问题,新密码设置的时候如果设置的过于简单会报错:

MySQL完整的初始密码规则可以通过如下命令查看:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

密码的长度是由

validate_password_length决定的

validate_password_length的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

我的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:

#修改密码安全策略为低(只校验密码长度,至少8位)。
mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;
jw123456

设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

但此时还有一个问题就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

yum -y remove mysql57-community-release-el7-10.noarch

此时才算真的完成了。

Windows下安装

下载解压

官网找DOWNLOAD标签,找社区版,找不到搜索关键词:**Community **

找自己对应的版本

下载好后,解压好放到自己想放到的位置

比如:C:\mysql

如果自己想安装多个版本建议放在:C:\mysql\mysql57 ,方便之后管理。

安装

以下以C:\mysql\mysql57 以准。

cmd 等命令行工具,admin 权限进入bin 文件夹

  1. 安装mysql的服务:mysqld --install

  1. 初始化mysql:mysqld --initialize --console

初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到

  1. 开启mysql的服务:net start mysql

  1. 登录验证,mysql是否安装成功!

  1. 修改密码
# 修改密码为root
alter user 'root'@'localhost' identified by 'root';

设置系统的全局变量

点击我的电脑 >属性 >高级系统设置 >环境变量

把新建的mysql变量添加到Path路径变量中,点击确定,即完成:

配置完成之后,每当我们想要用命令行使用mysql时,只需要win+R,-->输入"cmd"打开命令行,之后输入登录sql语句即可。

在mysql目录下创建一个ini或cnf配置文件,在这里我创建的是ini配置文件,里面写的代码是mysql的一些基本配置



[mysqld]
character-set-server=utf8mb4
bind-address=0.0.0.0
port=3306
default-storage-engine=INNODB
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4

在CentOS 8上安装MySQL 8.0

通过以root用户或具有sudo特权的用户身份使用CentOS软件包管理器来安装MySQL 8.0服务器:

sudo dnf install @mysql

@mysql模块将安装MySQL及其所有依赖项。
安装完成后,通过运行以下命令来启动MySQL服务并使它在启动时自动启动:

sudo systemctl enable --now mysqld

要检查MySQL服务器是否正在运行,请输入:

sudo systemctl status mysqld

返回信息如下:

mysqld.service - MySQL 8.0 database server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago

说明安装MySQL 8.0成功了。

保护MySQL的操作

运行mysql_secure_installation脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:

$ sudo mysql_secure_installation

系统将要求你配置VALIDATE PASSWORD PLUGIN(验证密码插件),该插件用于测试MySQL用户密码的强度并提高安全性,密码验证策略分为三个级别:低、中和强,如果你不想设置验证密码插件,请按Enter。

在下一个提示符下,将要求你设置MySQL root用户的密码,完成此操作后,脚本还将要求你删除匿名用户,限制root用户对本地计算机的访问,并删除测试数据库,你应该对所有问题回答“是”。

要从命令行与MySQL服务器进行交互,请使用MySQL客户端实用程序,它作为依赖项安装,通过键入以下内容测试根访问权限:

$ mysql -u root -p

在出现提示时输入root密码,然后将显示MySQL shell,如下所示:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 8.0.17 Source distribution

至此,已经在CentOS 8服务器上安装并保护了MySQL 8.0,并准备使用它。

🆗

身份验证的操作

由于CentOS 8中的某些客户端工具和库与caching_sha2_password方法不兼容,因此CentOS 8存储库中包含的MySQL 8.0服务器设置为使用旧的mysql_native_password身份验证插件,该方法在上游MySQL 8.0发行版中设置为默认。

对于大多数设置,mysql_native_password方法应该没问题,但是,如果你想将默认身份验证插件更改为caching_sha2_password,这样可以更快并提供更好的安全性,请打开以下配置文件:

$ sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf

将default_authentication_plugin的值更改为caching_sha2_password:

[mysqld]

default_authentication_plugin=caching_sha2_password

关闭并保存文件,然后重新启动MySQL服务器以使更改生效:

$ sudo systemctl restart mysqld

结论

CentOS 8随MySQL 8.0一起发行,安装就像键入dnf install @mysql一样简单。

现在你的MySQL 8服务器已启动并正在运行,可以连接到MySQL Shell,并开始创建新的数据库和用户。

评论