Window/Linux下Mysql的安装步骤
Windows下Mysql安装教程
首先讲一下Windows环境下安装Mysql,我使用的安装包版本是mysql-8.0.26-winx64
下载地址:MySQL下载
1.点击上面的下载地址得到zip压缩包


2. 解压到要安装的目录
我这里是D:\Mysql\mysql-8.0.26\bin

3. 添加环境变量
我的电脑=>属性=>高级系统设置=>环境变量=>选择path编辑新建=>将第二步中的地址添加进去。

4.选择是否要更改端口号
若要更改,可添加一个my.ini配置文件。D:\Mysql\mysql-8.0.26要换成自己安装的目录
[mysql]
# 设置mysql客户端默认字符编码形式
default-character-set=utf8mb4
[mysqld]
#设置端口号,默认3306
port = 3306
# 设置mysql的安装目录
basedir=D:\Mysql\mysql-8.0.26\
# 设置mysql数据库的数据存放目录
datadir=D:\Mysql\mysql-8.0.26\data\
# 设置最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
5.安装MySQL服务
右键Windows桌面左下角,选择Windows PowerShell(管理员)(A),或者win+s 输入cmd,启动管理员模式下的cmd,并将路径切换至mysql安装目录下的bin目录,输入以下命令

d:
cd D:\Mysql\mysql-8.0.26\bin
mysqld -install
<# 如果之前安装过MySQL,请先停止MySQL并且删除旧的MySQL #>
net stop mysql
sc delete mysql
<# 再执行如下命令#>
mysqld install
mysqld --initialize --user=mysql --console
<#如果执行成功 ,最后一段末尾会出现初始密码 然后启动MySQL#>
net start mysql
mysql -u root -p
<#然后使用上一步最后一行的密码进行登录,如需修改密码,可执行以下命令 #>
alter user user() identified by "123456";
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

6. 重启MySQL即可正常使用
这里重启要用以管理员身份运行的cmd
退出mysql管理界面
exit
停止mysql服务
net stop mysql
开始mysql服务
net start mysql
Linux下MySql安装教程
几种常见的安装方式
- 源码编译
- 压缩包解压(一般为tar.gz)
- 编译好的安装包(RPM、DPKG等)
- 在线安装(YUM、APT等)
以上几种方式的便携性依次增加,但通用性一次下降,比如直接下载压缩包进行解压,这种方式一般需要自己做一些额外的配置工作,但只要掌握了方法,各个平台基本都适用,YUM虽然简单,但是平台受限,网络受限,必要的时候还需要增加一些特定YUM源。
几种安装方式最好都能掌握,原则上能用简单的就用简单的:YUM>RPM>tar.gz>源码
1、使用YUM进行安装
首先查看是否已经安装了MySQL
[root@localhost ~]# rpm -qa|grep mysql #无输出说明没有安装
打开网址:MySQL Yum存储库找到对应linux的版本进行下载
查看自己的版本:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

点击下图红框所示:

复制下载文件的全名:mysql80-community-release-el7-3.noarch.rpm

下载和安装MySQL源
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

如果显示wget未找到命令,则需要先安装wget:
yum -y install wget
然后再次执行上面命令
安装mysql源

检查是否安装成功:
执行成功后会在/etc/yum.repos.d//目录下生成两个repo文件mysql-community.repo及 mysql-community-source.repo
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls -l
总用量 12
-rw-r--r--. 1 root root 2523 6月 16 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 2076 4月 25 2019 mysql-community.repo
-rw-r--r--. 1 root root 2108 4月 25 2019 mysql-community-source.repo
[root@localhost yum.repos.d]#
查看mysql相关资源
yum repolist enabled | grep "mysql.*-community.*"

选择mysql版本
使用MySQL Yum Repository安装MySQL,默认会选择当前最新的稳定版本
- 使用命令:yum repolist all | grep mysql,查看当前yum repolist的所有版本
- 切换版本
[root@localhost ~] sudo yum-config-manager --disable mysql80-community
[root@localhost ~] sudo yum-config-manager --enable mysql57-community
安装mysql
[root@localhost ~]# sudo yum install mysql-community-server
该命令会安装MySQL服务器 (mysql-community-server) 及其所需的依赖、相关组件,包括mysql-community-client、mysql-community-common、mysql-community-libs等。安装时间会比较长。
启动
[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# systemctl status mysqld.service

启动成功
停止
[root@localhost ~]# systemctl stop mysqld.service
重启
[root@localhost ~]# systemctl restart mysqld.service
修改密码及登录
初始密码
MySQL第一次启动后会创建超级管理员账号root@localhost,初始密码存储在日志文件中:
[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
2020-12-06T07:32:41.399112Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Nd<-p!Fxt6A8
修改默认密码
# 先进行登录
[root@localhost ~]# mysql -uroot -p
Enter password:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
#密码太弱
解决方法如下:
使用复杂密码,MySQL默认的密码策略是要包含数字、字母及特殊字符;
如果只是测试用,不想用那么复杂的密码,可以修改默认策略,即validate_password_policy(以及validate_password_length等相关参数),使其支持简单密码的设定,具体方法可以参考:设置密码策略;
修改配置文件/etc/my.cnf,添加validate_password=OFF,保存并重启MySQL
修改报错后重启报错解决可参考百度
设置编码
查看编码
mysql> SHOW VARIABLES LIKE 'character%';
设置编码
编辑/etc/my.cnf,[mysqld]节点增加以下代码
[mysqld]
character_set_server=utf8
init-connect='SET NAMES utf8'
设置开机启动
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl daemon-reload
关闭防火墙
允许远程登录
# firewall防火墙
systemctl status firewalld
# 查看转态
firewall-cmd --state
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
#注意分清楚linux的版本 命令会有所不同
#查看防火墙规则
firewall-cmd --list-all
删除mysql
检查mariadb
[root@localhost ~]# rpm -qa|grep mariadb
如无则跳过下面一条
删除mariadb
[root@localhost ~]# rpm -e --nodeps mariadb-server
[root@localhost ~]# rpm -e --nodeps mariadb
[root@localhost ~]# rpm -e --nodeps mariadb-libs
检查mysql
[root@localhost ~]# rpm -qa|grep mysql
mysql-community-client-8.0.22-1.el7.x86_64
mysql-community-common-8.0.22-1.el7.x86_64
mysql-community-client-plugins-8.0.22-1.el7.x86_64
mysql-community-libs-compat-8.0.22-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-libs-8.0.22-1.el7.x86_64
mysql-community-server-8.0.22-1.el7.x86_64
[root@localhost ~]#
删除mysql
[root@localhost ~]# rpm -e --nodeps xxx

2、使用tar.xz安装
1.删除旧的,操作如上
2.下载mysql对应安装包
官网下载:历史版本下载
下载好后通过xftp上传至虚拟机

或者直接在虚拟机上使用命令进行下载:
[root@localhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-i686.tar
3.安装和配置
MySQL依赖libaio库
[root@localhost ~]# yum install libaio
4.创建mysql用户
不需要登录的一个系统账号,启动MySQL服务时会使用该账号
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -g mysql -s /bin/false mysql
5.解压并创建链接
[root@localhost mysql]# tar zxvf /root/mysql/mysql-8.0.15-linux-glibc2.12-i686.tar.gz
或者
[root@localhost mysql]# tar -xvf /root/mysql/mysql-8.0.15-linux-glibc2.12-i686.tar
或者
[root@localhost mysql]# tar -xvJf /root/mysql/mysql-8.0.15-linux-glibc2.12-i686.tar.xz
修改文件名
[root@localhost mysql]# mv mysql-8.0.15-linux-glibc2.12-i686 mysql
将文件移动到/usr/local/
[root@localhost mysql]# cp mysql-8.0.15-linux-glibc2.12-i686.tar.xz /usr/local/
6.修改/usr/local/mysql 目录为mysql用户
cd /usr/local/mysql //进入/usr/local/mysql 目录
[root@localhost mysql]# cd /usr/local/mysql //进入/usr/local/mysql 目录
[root@localhost mysql]# chown -R mysql:mysql ./
7.mysql初始化操作

8.启动服务
[root@localhost mysql]# cd support-files
[root@localhost support-files]# ./mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
.. SUCCESS!
success表示已经启动成功。
9.配置mysql环境
[root@localhost ~]# vi /etc/profile
xport MYSQL_HOME=/usr/local/mysql
export MYSQL_PATH=${MYSQL_HOME}/bin:${MYSQL_HOME}/lib
export PATH=$PATH:/usr/local/mysql/bin

shutdown -r now 重启下服务器或者 source /etc/profile 均可使环境变量生效
10.系统配置

至此mysql就安装成功了
11.修改初始密码
[root@localhost ~]# mysql -uroot -p
Enter password: //这里输入刚刚初始化操作时的初始密码
mysql> alter user 'root'@'localhost' identified by '你的新密码';
Query OK, 0 rows affected (0.02 sec)
#设置允许远程登录
mysql> update user set user.Host='%' where user.User='root';

12.关闭防火墙
允许远程登录
# firewall防火墙
systemctl status firewalld
# 查看转态
firewall-cmd --state
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
#注意分清楚linux的版本 命令会有所不同
#查看防火墙规则
firewall-cmd --list-all
远程连接
远程连接时报错

原因
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
#更改加密方式
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.01 sec)
#更新用户密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
未找到匹配的参数: mysql-community-server。错误:没有任何匹配。的错误 安装mysql之前要先禁用默认的mysql模块:
sudo yum module disable mysql

附录
如果上面的方式不能修改可以使用下面安全模式修改root:
打开/etc/my.cnf文件,加上一行skip-grant-tables,表示跳过安全检查(即登录时无需密码)。直接用mysql -uroot登录,即可登录成功。切换到mysql库,查看user表结构,需要注意的是5.7以上版本已经没有了Password字段,取而代之的是authentication_string字段。执行sql语句修改密码:update user set authentication_string='密码' where User='root'; 或者5.6及以下版本使用:update user set Password='密码' where User='root'; 然后FLUSH PRIVILEGES即可。
注意:修改成功后,要删掉配置文件中的skip-grant-tables,否则谁都可以登录了。
至此,所有的配置都安装完毕啦,如果你觉得有用,点个赞吧!
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐];
如果您想转载本博客,请注明出处;
如果您对本文有意见或者建议,欢迎留言;
感谢您的阅读,请关注我的后续博客。
Window/Linux下Mysql的安装步骤的更多相关文章
- Linux下Mysql的安装步骤
(1).下载安装包 https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar [roo ...
- .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用
一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...
- linux下mysql的安装
一.下载 http://dev.mysql.com/downloads/mysql/ 选择对应的版本,这里选择“Linux-Generic” 以64位系统为例,这里需要下载如下两个文件: MySQL- ...
- linux下Mysql 的安装、配置、数据导入导出
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),虽然功能未必很强大,但因它的免费开源而广受欢迎. 这次,接着上一篇<CentOs minimal安装和开发环境部署>,讲下L ...
- Linux中MySQL二进制安装步骤
MySQL二进制安装步骤 安装依赖环境 [root@node3 ~]# yum -y install libaio 将mysql-5.7.26-linux-glibc2.12-x86_64.tar.g ...
- linux 下mysql的安装,并设置必要的密码
首先,我使用的是redhat linux ,版本号为: [root@localhost init.d]# cat /proc/version Linux version - (bhcompile@po ...
- (0.2)linux下Mysql的安装配置与管理入门(目录篇)
本章学习内容: 1.基于Linux平台的Mysql项目场景介绍 1.1.互联网各类网站.购物网站.门户网站.博客系统.IDC,云平台,VPS,虚拟主机空间,论坛,嵌入式. 2.mysql数据库运行环境 ...
- 自学linux——13.Linux下mysql的安装
MySQL数据库 1.数据库联系 2.软件安装 (1)源码包安装 优点:开源,可以修改源代码编译安装,更加适合自己的系统,稳定高效 缺点:安装步骤较多,容易出错编译过程时间较长 常用语法: #tar ...
- Linux下mysql的安装和使用(C语言)
1 mysql的安装 我使用的ubuntu在线安装,非常简单,命令为: sudo apt-get install mysql-client mysql-server 2 mysql命令集合 网络太多了 ...
随机推荐
- [学习总结]5、Android的ViewGroup中事件的传递机制(二)
下面是第一篇的连接 Android的ViewGroup中事件的传递机制(一) 关于onInterceptTouchEvent和onTouchEvent的详细解释. 1 public class Mai ...
- github单独下载某一个文件夹
可以借助svn工具进行下载,实现只下载repo下的指定文件夹内容 背景 需要下载这个文件夹下所有内容https://github.com/rabbitmq/rabbitmq-tutorials/tre ...
- Linux下查看JDK安装路径
在安装好Git.JDK和jenkins之后,就需要在jenkins中进行对应的设置,比如在全局工具配置模块,需要写入JDK的安装路径. 这篇博客,介绍几种常见的在Linux中查看JDK路径的方法... ...
- IDEA 使用rest client测试
一.进入 rest 控制台 idea 导航栏 ==> Tools ==> HTTP Client ==> Test RESTFUL Web Service 如图: 一般来说,idea ...
- 【C/C++】C++ warning: control reaches end of non-void function return
控制到达非void函数的结尾. 一些本应带有返回值的函内数到容达结尾后可能并没有返回任何值. 这时候,最好检查一下是否每个控制流都会有返回值. 我是ostream声明的时候没有写return out; ...
- typescript接口---interface
假如我现在需要批量生产一批对象,这些对象有相同的属性,并且对应属性值的数据类型一致.该怎么去做? 在ts中,因为要检验数据类型,所以必须对每个变量进行规范,自然也提供了一种批量规范的功能.这个功能就是 ...
- setsockopt()用法及参数详解
setsockopt()用法(参数详细说明) int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); ...
- 批处理文件(.bat)并行Arcpy脚本提高效率的思路
Arcpy提供数据处理的方便接口,但一个Arcpy脚本通常只运行于一个核上.现在电脑通常是多核乃至多处理器,如果能将任务分解为可同时进行的若干任务,便可通过并行充分利用电脑性能. 折腾了python并 ...
- 价格BigDecimal的加减乘除、小数四舍五入、比较
num2必须改用传入String类型 //加法 BigDecimal result1 = num1.add(num2); //减法 BigDecimal result2 = num1.subtract ...
- Lucene 基础数据压缩处理
Lucene 为了使的信息的存储占用的空间更小,访问速度更快,采取了一些特殊的技巧,然 而在看 Lucene 文件格式的时候,这些技巧却容易使我们感到困惑,所以有必要把这些特殊 的技巧规则提取出来介绍 ...