在Linux(CentOS)上安装
版本:5.7
1. 下载并安装MySQL官方的 Yum Repository
需要使用到wget
,如果你还没有安装参考如下:
$ 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
文件夹
- 安装mysql的服务:
mysqld --install
- 初始化mysql:
mysqld --initialize --console
初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到
- 开启mysql的服务:
net start mysql
- 登录验证,mysql是否安装成功!
- 修改密码
# 修改密码为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,并开始创建新的数据库和用户。
评论