Linux(CentOS 7)安装MySQL(通用版)(小白笔记)

Linux(CentOS 7)安装MySQL(通用版)(小白笔记)


提示:如果你是想安装MySQL 5.7 版本 或更新的版本

也可以参考我的另一篇笔记:https://www.cnblogs.com/Nan-Ting/p/16454847.html


1. 下载 MySQL :https://downloads.mysql.com/archives/community

下载之后是 MySQL-5.6.51-1.el7.x86_64.rpm-bundle.tar 文件(不同版本可能名字不一样,无所谓)

2. 将下载好的 .tar 文件 上传到Linux服务器,可以借助工具,如MobaXterm来上传,或通过下面的命令来上传

​ 注意:要记住 .tar 文件在Linux的保存路径(咱们准备在Linux新建一个目录 /opt/mysql 来保存)

(1)在在Linux新建一个目录 /opt/mysql (注意这一步是在Linux执行命令)

mkdir /opt/mysql

(2)cmd 命令将 .tar 文件 上传到Linux(注意这一步是在本地主机 cmd 执行命令)

scp 本地文件路径 服务器用户名@远程机器IP:/服务器目录/给文件取个名(或直接复制原文件名)

# 实例:
scp E:\Edge_Download\MySQL-***.tar(文件名) root@192.168.1.118:/opt/mysql
# 回车之后输入你的Linux用户密码,就上传成功了

3. 安装MySQL

(1)进入 .tar 文件的目录,解压 .tar 文件(即进入Linux操作)

# 进入 .tar 文件的目录
cd /opt/mysql
# 解压.tar 文件
tar -vxf MySQL-5.6.51-1.el7.x86_64.rpm-bundle.tar

(2)会解压出来好几个 .rpm 文件,接下来我们就要有次序的分别安装他们(记住下面界面解压的文件次序,可能会用到)

  • 先卸载Linux自带的mariadb
# 咱们先安装 rpm 命令
yum install rpm
# 咱们这里先不管语句的具体意思,后面再学,先直接复制粘贴用呗
rpm -qa | grep mariadb
# 执行上一条语句后,会显示出类似于 mariadb-libs-5.5.68-1.el7.x86_64 的东东
# 让我们干掉它:(语句最后的 东东 记得换成上一步查出来的 东东 )
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  • 安装所需依赖:这一步其实是以防万一缺少依赖
yum -y install libaio
yum -y install net-tools
yum -y install perl
yum -y install autoconf
yum install perl-JSON
# 如果出现[y/d/n],输入 y 就是yes,允许安装的意思
  • 然后依照一定的次序安装解压出来的各个.rpm文件,那么次序是什么呢,最简单的排序方法就是刚刚解压 .tar 文件时,在命令行界面各个文件显示出来的次序

    (不同版本,解压出来的各文件名可能不同,咱随机应变,随你的机应你的变,按你的各文件次序来)

    **注意:名字里带 server 的文件一定要能放多后安装就放多后,一直到系统提示它被需要,或放到最后再安装 **

    所以俺的安装顺序可能是如下:(建议按顺序在记事本记个标记,以防忘记安装顺序)

  • 但是,这种顺序,不一定完全对,但是没事,先按照这样的次序来,如果次序错了,它会提示的,然后按照提示,随机应变调整安装次序(但一定要把 server的文件放在最后,能放多后安装就放多后)

  • 还有,在顺序安装时,非常有可能会出现类似如下的错误警告(咱们先把错误说在前头嘛~)

那么咱们怎解决呢,很简单,它不是说了 ”什么什么“ 被 “某某” 需要吗,那我们就把这个 “什么什么” 下载安装呗(当然我这个依赖警告咱们在上面为了以防万一,已经提前安装过了,不过以防遇到类似问题,所以先提一嘴)

yum -y install perl
# 这个 perl 也就是上图所示的 /usr/bin/perl 的最后一个部分
# 然后再执行报警告安装
# 安装成功,再接着依次安装
# 接下来如果出现类似的错误也是这样的处理方法(随机应变,比如依赖警告不清晰时,那就复制警告去万能度娘)
  • 来依次安装俺的文件(随机应变)
rpm -ivh MySQL-client-5.6.51-1.el7.x86_64.rpm
rpm -ivh MySQL-devel-5.6.51-1.el7.x86_64.rpm
rpm -ivh MySQL-embedded-5.6.51-1.el7.x86_64.rpm
rpm -ivh MySQL-shared-5.6.51-1.el7.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.51-1.el7.x86_64.rpm
rpm -ivh MySQL-test-5.6.51-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.51-1.el7.x86_64.rpm

注意:万一不幸的事情发生了,安装顺序搞错了,那就卸掉之前安装的 .rpm 文件,从第1个 .rpm 文件再来过,怎么卸掉呢:

yum remove mysql-libs
# 这玩意儿会帮你删干净的,然后从第1个 .rpm 文件再从头安装

4. 配置MySQL

(1)启动MySQL

# 5.6版本以及更老的版本 启动MySQL:
systemctl start mysql

# 5.7版本以及更新的版本 启动MySQL:
systemctl start mysqld

# 5.6版本以及更老的版本 获取MySQL的初始密码:
cat /root/.mysql_secret | grep "The random password"

# 5.7版本以及更新的版本 获取MySQL的初始密码:
cat /var/log/mysqld.log | grep "A temporary passwor"

# 密码如下图所示

(2)咱们登录MySQL,改改密码去

mysql -u root -p
# 然后输入初始密码,回车,登陆成功应该是下面的界面(注意,在Linux里所有密码,输入后都是不显示到界面的,你要相信你自己已经输进去了)

5.6版本以及更老的版本修改密码:

set password for root@localhost = password('123456');

# 授权远程连接(这儿的654321是远程连接数据库时使用的密码)
grant all privileges on *.* to 'root'@'%' identified by '654321' with grant option;
# grant 授权的动作,也是mysql中的命令,sql语句
# all privileges 表示所有的权限
# *.* 指定所有的数据库以及库里的表,点的前面表示库,点的后面表示表
# to 表示给谁权限
# @"%” 表示允许使用root用户的远程机器,从任意的地方来访问,%表示任意IP(也就是远程机器的IP地址)
# identified by 定义远程认证的密码

# 刷新权限信息
flush privileges;

# 退出MySQL
exit;
5.7版本以及更新的版本修改密码:

# 修改密码复杂度校验规则
set global validate_password_policy=0;
# 修改密码长度限制
set global validate_password_length=1;
# 修改密码
alter user 'root'@'localhost' identified by '123456';

# 授权远程连接(这儿的654321是远程连接数据库时使用的密码)
grant all privileges on *.* to 'root'@'%' identified by '654321' with grant option;
# grant 授权的动作,也是mysql中的命令,sql语句
# all privileges 表示所有的权限
# *.* 指定所有的数据库以及库里的表,点的前面表示库,点的后面表示表
# to 表示给谁权限
# @"%” 表示允许使用root用户的远程机器,从任意的地方来访问,%表示任意IP(也就是远程机器的IP地址)
# identified by 定义远程认证的密码

# 刷新权限信息
flush privileges;

# 退出MySQL
exit;
# 退出之后呢就进入了Linux界面

# 5.6版本以及更老的版本 重启MySQL
systemctl restart mysql

# 5.7版本以及更新的版本
systemctl restart mysqld

# 再登陆的话,密码就是咱们自己的密码了

(3)设置MySQL开机自启(注意这时候是在Linux里)

# 设置开机自启

# 5.6版本以及更老的版本
chkconfig mysql on

# 5.7版本以及更新的版本
chkconfig mysqld on

(4)调整一下MySQL的配置文件的位置

# 将/usr/share/mysql目录下的my-default.cnf文件复制到/etc目录,并改名为my.cnf

# 5.6版本以及更老的版本:
cp /usr/share/mysql/my-default.cnf /etc/my.cnf

# 5.7版本以及更新的版本不需要这一步

实际上到这儿,MySQL已经全部安装结束了

如果以后需要修改MySQL的配置参数,就修改上面的 my.cnf 文件,如下:

# 咱们来下载一个 vim编辑器(比自带的vi编辑器好看一点,操作跟vi一样,所以不下载也没影响)
yum -y install vim
# 修改一下/etc/my.cnf文件
vim /etc/my.cnf

5. 远程连接

方法一:在主机电脑的 cmd 远程连接

mysql -h LinuxIP地址 -P 3306 -u root -p
#-P 大写P表示的是连接服务器端口号
# 回车后,输入MySQL 密码

# 远程登陆的要素:协议、地址(IP)、端口、用户、密码 (Linux远程登陆也是这样的要素)

方法二:用Navicat等图形化软件……(就不多说了)

后记:如果所有都配置好了,但是远程连接不通,那可能是Linux防火墙的问题

# 方法一:让防火墙将 MySQL 端口对外开放(3306是 MySQL 的默认端口号)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld

# 方法二:直接关掉防火墙(自己玩儿可以)
systemctl stop firewalld
# 关掉后再禁止它开机启动
systemctl disable firewalld
# 想恢复防火墙
systemctl enable firewalld
systemctl start firewalld

有什么疏漏请您多担待,欢迎您的斧正和批评。

posted @ 2022-07-09 15:02  南亭*.*  阅读(804)  评论(0编辑  收藏  举报