MySQL 安装


MySQL 安装


所有平台的 MySQL 下载地址为: MySQL 下载 。 挑选你需要的 MySQL Community Server 版本及对应的平台。

注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。

Linux/UNIX 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。 MySQL-client -
MySQL 客户端程序,用于连接并操作Mysql服务器。 MySQL-devel -
库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。 MySQL-shared -
该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。 MySQL-bench -
MySQL数据库服务器的基准和性能测试工具。


安装前,我们可以检测系统是否自带安装 MySQL:

[root@bogon ~]# rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载:

[root@bogon ~]# rpm -e mysql  // 普通删除模式
[root@bogon ~]# rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,
提示有依赖的其它文件,则用该命令可以对其进行强力删除

安装 MySQL:

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址为:
https://dev.mysql.com/downloads/repo/yum/
在这里插入图片描述

[root@bogon ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

[root@bogon ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

[root@bogon ~]# yum update

[root@bogon ~]# yum install mysql-server

设置启动

权限设置:
[root@bogon ~]# chown mysql:mysql -R /var/lib/mysql

初始化 MySQL:
[root@bogon ~]# mysqld --initialize

启动 MySQL:
[root@bogon ~]# systemctl start mysqld

查看 MySQL 运行状态:
[root@bogon ~]# systemctl status mysqld

注意:如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。

此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL
授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL
闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

[root@bogon ~]#yum install mariadb-server mariadb mariadb
数据库的相关命令是:

> [root@bogon ~]# systemctl start mariadb  #启动MariaDB 
> [root@bogon ~]# systemctl stop mariadb  #停止MariaDB
> [root@bogon ~]# systemctl restart mariadb  #重启MariaDB 
> [root@bogon ~]# systemctl enable mariadb  #设置开机启动

验证 MySQL 安装

在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。
使用 mysqladmin 工具来获取服务器状态:
使用 mysqladmin 命令来检查服务器的版本, 在 linux 上该二进制文件位于 /usr/bin 目录,在 Windows
上该二进制文件位于C:\mysql\bin 。

[root@host]# mysqladmin --version
mysqladmin  Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386
#linux上该命令输出结果,该结果基于你的系统信息:
# 如果以上命令执行后未输出任何信息,说明你的Mysql未安装成功。

使用 MySQL Client(Mysql客户端) 执行简单的SQL命令

你可以在 MySQL Client(Mysql客户端) 使用

mysql 命令连接到 MySQL 服务器上,默认情况下 MySQL 服务器的登录密码为空,所以本实例不需要输入密码。
命令如下:
[root@host]# mysql

以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:

mysql> SHOW DATABASES;
±---------+ | Database |
±---------+ | mysql | | test |
±---------+ 2 rows in set (0.13 sec) Mysql安装后需要做的 Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

[root@host]# mysqladmin -u root password "new_password";
现在你可以通过以下命令来连接到Mysql服务器:

[root@host]# mysql -u root -p Enter password:*******
注意:在输入密码时,密码是不会显示了,你正确输入即可。

Windows 上安装 MySQL

Windows 上安装 MySQL 相对来说会较为简单,点击链接 https://dev.mysql.com/downloads/mysql/ 下载 zip 包。
在这里插入图片描述
在这里插入图片描述

最新版本可以在 MySQL 下载 中下载中查看。

点击 Download 按钮进入下载页面,点击下图中的 No thanks, just start my download. 就可立即下载:

下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。

接下来我们需要配置下 MySQL 的配置文件

打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini
配置以下基本信息:

# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
接下来我们来启动下 MySQL 数据库:

以管理员身份打开 cmd 命令行工具,切换目录:

cd C:\web\mysql-8.0.11\bin
初始化数据库:

mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码,如:
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
输入以下安装命令:

mysqld install
启动输入以下命令即可:

net start mysql
注意: 在 5.7 需要初始化 data 目录:

cd C:\web\mysql-8.0.11\bin 
mysqld --initialize-insecure 
初始化后再运行 net start mysql 即可启动 mysql。

登录 MySQL 当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中,
首先打开命令提示符, 输入以下格式的命名:

mysql -h 主机名 -u 用户名 -p

参数说明:

-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u : 登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

mysql -u root -p 按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

Enter password: 若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the
MySQL monitor… 的提示语。

然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。








如若上述方案出现异常,那么如下另一种方案还未成功 我们可以在最后尝试下

一 安装前准备

依旧不变安装前还是要检查是否已经安装过mysql,并将其彻底卸载删除

1、检查是否已经安装过mysql,执行命令

[root@localhost /]# rpm -qa | grep mysql

输出结果
在这里插入图片描述
从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令

[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

再次执行查询命令,查看是否删除

[root@localhost /]# rpm -qa | grep mysql

2、查询所有Mysql对应的文件夹

[root@localhost /]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@localhost lib]# find / -name mysql
/data/mysql
/data/mysql/mysql

删除相关目录或文件

[root@localhost /]#  rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 

验证是否删除完毕

[root@localhost /]# whereis mysql
mysql:
[root@localhost /]# find / -name mysql
[root@localhost /]# 

3、检查mysql用户组和用户是否存在,如果没有,则创建

[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd |grep mysql
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql
[root@localhost /]# 

4、从官网下载是用于Linux的Mysql安装包

下载命令:

[root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

也可以直接到mysql官网选择其他版本进行下载。
在这里插入图片描述


二 安装Mysql


1、在执行wget命令的目录下或你的上传目录下找到Mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 执行解压命令:

[root@localhost /]#  tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
[root@localhost /]# ls
mysql-5.7.24-linux-glibc2.12-x86_64
mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/mysql,我们习惯于将MySQL安装到这个目录下
执行移动命令:

[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

2、在/usr/local/mysql目录下创建data目录

[root@localhost /]# mkdir /usr/local/mysql/data

3、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

[root@localhost /]# chown -R mysql:mysql /usr/local/mysql
[root@localhost /]# chmod -R 755 /usr/local/mysql

4、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)

[root@localhost /]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

此时如果出现如下错误,可以尝试这样解决错误
在这里插入图片描述

出现该问题首先检查该链接库文件有没有安装使用 命令进行核查

[root@localhost bin]# rpm -qa|grep libaio   
[root@localhost bin]# 

运行命令后发现系统中无该链接库文件,可以这么安装

[root@localhost bin]#  yum install  libaio-devel.x86_64

安装成功后,继续运行数据库的初始化命令,此时可能会出现如下错误:
在这里插入图片描述

执行如下命令后,再次运行数据库的初始化命令:

[root@localhost bin]#  yum -y install numactl
#安装成功后,在执行如下数据库的初始化命令
[root@localhost /]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

5、运行初始化命令成功后,会输出日志如下:
在这里插入图片描述

记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码,登陆成功后需修改方可完全使用root用户权限。

6、编辑配置文件my.cnf,添加配置如下

[root@localhost bin]#  vi /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1

7、启动mysql服务器

[root@localhost /]# /usr/local/mysql/support-files/mysql.server start

显示如下结果,说明数据库安装成功
在这里插入图片描述

如果出现如下提示信息

Starting MySQL... ERROR! The server quit without updating PID file

查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令

#查询服务
ps -ef|grep mysql
ps -ef|grep mysqld
#结束进程
kill -9 PID
#再次启动服务
/usr/local/mysql/support-files/mysql.server start
在这里插入图片描述
注意:
如果此时,该服务kill不掉,则多次可以尝试上面的查询服务命令,如果每次pid都会发生改变,那就不管它,因为想管你也管不了啊

8、添加软连接,并重启mysql服务

[root@localhost /]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
[root@localhost /]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost /]#  service mysql restart

9、登录mysql,修改密码(密码为步骤5生成的临时密码)

[root@localhost /]#  mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');

出现以下执行结果那就是和只成功了
在这里插入图片描述

10、开放远程连接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

若是如下结果,很明显恭喜你成功了
在这里插入图片描述
当然也可以这样(两种方法都可以,任选其一即可)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库
mysql> FLUSH PRIVILEGES; //需要输入次命令使修改生效
mysql> EXIT //退出

11、设置开机自动启动

#1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
#3、添加服务
[root@localhost /]# chkconfig --add mysqld
#4、显示服务列表
[root@localhost /]# chkconfig --list

至此,MySQL已经装成功了,现在你可以放心的去使用了




centeros7开放端口

下面是开放端口教程

[caibo@localhost /]$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
  success 
[caibo@localhost /]$ firewall-cmd --reload
 systemctl stop firewalld.service #停止
 systemctl disable firewalld.service #禁用

Centos 7使用firewalld代替了原来的iptables
使用方法如下:

关闭防火墙

 systemctl stop firewalld.service #停止firewall  
 systemctl disable firewalld.service #禁止firewall开机启动

开启端口

> firewall-cmd --zone=public --add-port=80/tcp –permanent 
> firewall-cmd --zone=public --add-port=3306/tcp --permanent 

命令含义:

> --zone #作用域 
> --add-port=80/tcp #添加端口,格式为:端口/通讯协议 
> --permanent #永久生效,没有此参数重启后失效  
> firewall-cmd –reload #重启防火墙  

常用命令介绍

firewall-cmd –state ##查看防火墙状态,是否是running 
firewall-cmd –reload ##重新载入配置,比如添加规则之后,需要执行此命令 
firewall-cmd –get-zones ##列出支持的zone 
firewall-cmd –get-services ##列出支持的服务,在列表中的服务是放行的 
firewall-cmd –query-service ftp ##查看ftp服务是否支持,返回yes或者no 
firewall-cmd –add-service=ftp ##临时开放ftp服务 
firewall-cmd –add-service=ftp –permanent ##永久开放ftp服务 
firewall-cmd –remove-service=ftp –permanent ##永久移除ftp服务 
firewall-cmd –add-port=80/tcp –permanent ##永久添加80端口 
iptables -L -n ##查看规则,这个命令是和iptables的相同的 
man firewall-cmd ##查看帮助

更多命令,使用 firewall-cmd –help 查看帮助文件

CentOS 7.0默认使用的是firewall作为防火墙,若要使用iptables必须重新设置一下
1、直接关闭防火墙

systemctl stop firewalld.service #停止firewall 
systemctl disable firewalld.service #禁止firewall开机启动

2、设置 iptables service

yum -y install iptables-services 

如果要修改防火墙配置,如增加防火墙端口3306 vi /etc/sysconfig/iptables 增加规则

> -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效 
systemctl enable iptables.service #设置防火墙开机启动 

最后重启系统使设置生效即可。



作者:笙沫
摘录:菜鸟教程和简书(本文章是由作者亲自安装没有问题可以信赖)
欢迎大家和我交流技术性问题
QQ:1348612681
https://www.runoob.com/mysql/mysql-install.html
https://www.jianshu.com/p/276d59cbc529

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值