安装mysql数据库遇到的各种问题

本文详细介绍了如何在本地虚拟机上的CentOS7系统中安装MySQL8.0,包括从下载安装包到设置远程访问权限的全过程,特别强调了不同MySQL版本的安装差异、权限配置以及防火墙设置。此外,还提醒注意虚拟机环境的兼容性、防火墙端口开放以及密码加密规则的调整。
摘要由CSDN通过智能技术生成

首先我要说的是,我是希望在本地虚拟机上安装一套mysql数据库,让其他机器或者本地可以远程访问。

访问方式有多种了,联调工具我用的是navicat,其实只要你保证这套mysql的安装等步骤都正确,就可以用navicat连接了。

但是安装mysql需要注意的是,目前mysql有两种打的版本,一个是5.x系列的,一个是8.x系列的,经过自己的分别尝试安装,他们的设置账号和密码权限等有所差异。

而且以后你要是用java idea开发工具等写代码连接时,也要注意这一点,因为,你本地引入的mysql connection等maven依赖包一定要和虚拟机上安装的mysql相匹配,否则会报错。

我最后选在安装8.x了,因为本地用的spring boot配置的mysql,已经是比较新的了。

具体的安装步骤,你可以参考网上的教程,其中有一篇讲的比较细致,

1.下载 MySQL 所需要的安装包

        网址:https://dev.mysql.com/downloads/mysql/

2.Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7

3.选择 RPM Bundle 点击 Download

4.点击 No thanks, just start my download. 进行下载

5.下载好了

6.打开 VMware,选中要使用的虚拟机,点击开启此虚拟机

7.最小化虚拟机,不用管他了

8.打开 xshell,选择虚拟机 ip 所对应的会话,点击连接,这里我mac用的是filezilla连接服务器工具。

9.连接成功

10.通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包

11.通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 命令装卸 mariadb

12.通过 rpm -qa | grep mariadb 命令再次查看 mariadb 的安装包

13.通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的

14.通过 ll 命令查看一下当前目录下的目录结构

15.通过 mkdir mysql 命令 在当前目录下创建一个名为 mysql 的目录

16.通过 ll 命令查看一下当前目录下的目录结构,刚创建的 mysql 目录有了

17.通过 cd mysql 命令进入 mysql 目录

18.通过 ll 命令查看一下当前目录下的目录结构

19.点击 窗口 -->> 传输新建文件,通过 ftp 协议来把刚下载好的 mysql 安装包传输到 CentOS7 系统中

20.在左边找到你 mysql 安装包的下载目录

21.在你想要传输的文件上单机右键,点击传输

 

22.上传成功后,关闭 ftp 传输工具

 

23.通过 ll 命令查看一下当前目录下的目录结构

24.通过 tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar  命令解压 tar 包

25.通过 clear 命令清一下屏

26.通过 rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 common

27.通过 rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 libs

28.通过 rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 client

29.通过 rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 server

30.通过 rpm -qa | grep mysql 命令查看 mysql 的安装包

31.通过以下命令,完成对 mysql 数据库的初始化和相关配置

 
  1. mysqld --initialize;

  2. chown mysql:mysql /var/lib/mysql -R;

  3. systemctl start mysqld.service;

  4. systemctl enable mysqld;

32.通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码

33.通过 mysql -uroot -p 敲回车键进入数据库登陆界面

34.输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的

35.通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 命令来修改密码

36.通过 exit; 命令退出 MySQL,然后通过新密码再次登陆

37.通过以下命令,进行远程访问的授权

 
  1. create user 'root'@'%' identified with mysql_native_password by 'root';

  2. grant all privileges on *.* to 'root'@'%' with grant option;

  3. flush privileges;

 

38.通过 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。

 

39.通过 flush privileges; 命令刷新修该后的权限

40.通过 exit; 命令退出 MySQL

41.通过以下命令,关闭 firewall

 
  1. systemctl stop firewalld.service;

  2. systemctl disable firewalld.service;

  3. systemctl mask firewalld.service;

42.通过 yum -y install iptables-services  命令安装 iptables 防火墙

43.通过以下命令启动设置防火墙

 
  1. systemctl enable iptables;

  2. systemctl start iptables;

44.通过 vim /etc/sysconfig/iptables 命令编辑防火墙,添加端口

45.点击 i 键进入插入模式

46.在相关位置,写入以下内容

 
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

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

  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

  4. -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

  5. -A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT

47.点击 ESC 键退出插入模式

48.点击 : 键,输入 wq 敲回车键保存退出,: 为英文状态下的

49.通过 systemctl restart iptables.service 命令重启防火墙使配置生效

50.通过 systemctl enable iptables.service 命令设置防火墙开机启动

51.通过 ifconfig 命令查看 ip

注意的点:

1:其实里面你跟着做,可能会遇到一些问题,就是,你在你的虚拟机上安装centos系统可能是比较阉割版的,有很多命令没有,你需要自己安装对应的指令。

2:关于防火墙那块,需要把-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 这种语句加入,否则防火墙没有放开,你肯定连不上。

3:还有就是你虚拟机的ip查看等方式,还有你的虚拟机允许外网访问的配置,你可以自行解决,最后通过ping一下百度,看看是不是能ping通,就ok,这块也有坑,注意自己解决。

4:设置账号密码的操作,比较重要,否则你不可能连到mysql,第一次安装完,有默认密码,等查询方式需要注意,

cat /var/log/mysqld.log | grep password  之后进入

你可以通过下面的命令,授权远程访问权限。

  1. create user 'root'@'%' identified with mysql_native_password by 'root';

  2. grant all privileges on *.* to 'root'@'%' with grant option;

  3. flush privileges;  通过这个你还可以自己创建新的账号和密码,这个你自己尝试。   

5:最后进入mysql  方法:mysql -u 账号 -p  之后输入对应密码 

6:查询你的账号等,可以用命令;首先切入到 mysql数据库(这个是默认的)

select user,host from user; 查一下即可:

7:启动mysql的 我用的是service mysqld start命令 service mysqld status 、service mysqld stop等。

其他的有什么问题,网友可以随时咨询我,我因为这个安装mysql里面遇到很多坑,都是自己解决的,慢慢来,一定成功。

最后,用java学代码:配置yml文件如下:我用的是druid连接池连接的,你用其他的连接池也行,用tomcat-jdbc也行。

连接成功后,打印出你的接口。具体工程代码,就不展示了。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值