MySQL的安装和配置静态IP

本文详细介绍如何在虚拟机中配置静态IP,避免因DHCP模式导致的IP变动问题,同时提供MySQL的安装及基本操作指南,包括创建数据库、用户及权限设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL的安装

配置静态IP

一般虚拟机默认的IP地址是自动分配模式DHCP,那么每次关机重启IP地址都会改变,这样就很麻烦,每次登陆有关虚拟机的应用都要重新查看一遍IP,并使用

nmcli connection up

这个命令使隐藏的IP现行,因此配置一个静态的IP是很有必要的。
首先查看虚拟机链接外网的网关:
点击编辑,选择其中的虚拟网络编辑器,跟着图片上的操作就能查看到本机的网关

1

2

3

在终端输入IP地址的文件路径并修改

vi /etc/sysconfig/network-scripts/ifcfg-ens33
键盘 shift + i 进入输入模式
这时原来的文件:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6e581861-c87b-4d54-8f51-9789f66dd65b
DEVICE=ens33
ONBOOT=no

增加
dhcp自动分配模式改为static静态模式

BOOTPROTO=static

IPADDR=192.168.233.123 IP和网关是一个号段的就行
GATEWAY=192.168.233.2 网关就是上面查到的
NETMASK=255.255.255.0
DNS1=114.114.114.114

ONBOOT yes改为no

ONBOOT=no
修改为:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.233.123
GATEWAY=192.168.233.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6e581861-c87b-4d54-8f51-9789f66dd65b
DEVICE=ens33
ONBOOT=yes

改完后重启network服务:

service network restart

完成后可以分别 ping 一下自己的主机IP还有百度看看能不能通,通的话就是配置好了,可以在这个时候给虚拟机拍一个快照,以后操作出现错误,可以很快恢复到原始状态

ping 自己电脑的IPV4地址
ping www.baidu.com

安装

用xshell远程连接虚拟机

yum list | grep mariadb
yum clean all
yum repolist
yum install mariadb

安装mariadb时会把与其相关的服务一并安装上 ,如果没有安装,运行

yum install -y mariadb-server

systemctl start mariadb.service
ss -tanl
systemctl enable mariadb.service

设置密码和各种初始化设置

mysql_secure_installation

root用户登录

mysql -u root -p

查看mysql的内容

MariaDB [(none)]> show databases;
exit

接下来使用xshell向虚拟机导入一个做测试的文件

ls查看文件是否导入

ls

  
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates  Videos
Desktop          Downloads  Music                 Public    test.sql

输入重定向,把test.sql装入MySQL

mysql -u root -p < test.sql
mysql -u root -p
MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

use test;
show tables;

+----------------+
| Tables_in_test |
+----------------+
| departments    |
| dept_emp       |
| employees      |
| salaries       |
| titles         |
+----------------+
5 rows in set (0.01 sec)

这就能显示test这个文件中的内容了,这几个都是表格
可以查看

select * from titles

+--------+--------------------+------------+------------+
| emp_no | title              | from_date  | to_date    |
+--------+--------------------+------------+------------+
|  10001 | Senior Engineer    | 1986-06-26 | 9999-01-01 |
|  10002 | Staff              | 1996-08-03 | 9999-01-01 |
|  10003 | Senior Engineer    | 1995-12-03 | 9999-01-01 |
|  10004 | Engineer           | 1986-12-01 | 1995-12-01 |
|  10004 | Senior Engineer    | 1995-12-01 | 9999-01-01 |
|  10005 | Senior Staff       | 1996-09-12 | 9999-01-01 |
|  10005 | Staff              | 1989-09-12 | 1996-09-12 |
|  10006 | Senior Engineer    | 1990-08-05 | 9999-01-01 |
|  10007 | Senior Staff       | 1996-02-11 | 9999-01-01 |
|  10007 | Staff              | 1989-02-10 | 1996-02-11 |
|  10008 | Assistant Engineer | 1998-03-11 | 2000-07-31 |
|  10009 | Assistant Engineer | 1985-02-18 | 1990-02-18 |
|  10009 | Engineer           | 1990-02-18 | 1995-02-18 |
|  10009 | Senior Engineer    | 1995-02-18 | 9999-01-01 |
|  10010 | Engineer           | 1996-11-24 | 9999-01-01 |
|  10011 | Staff              | 1990-01-22 | 1996-11-09 |
|  10012 | Engineer           | 1992-12-18 | 2000-12-18 |
|  10012 | Senior Engineer    | 2000-12-18 | 9999-01-01 |
|  10013 | Senior Staff       | 1985-10-20 | 9999-01-01 |
|  10014 | Engineer           | 1993-12-29 | 9999-01-01 |
|  10015 | Senior Staff       | 1992-09-19 | 1993-08-22 |
+--------+--------------------+------------+------------+
21 rows in set (0.02 sec)

创建用户

grant all on test.* to ‘qaq’@’%’ identified by ‘qaq’;
第一个qaq是用户名,第二个qaq是密码

平时用的时候使用可视化的工具来操作MySQL,这里用的是Navicat,登录的时候就可以用qaq用户登录,在登录前要把Linux的防火墙关闭

systemctl stop firewalld

不然用户无法登录,接下来就可以进行MySQL语句的操作了。

### 配置静态IP后确保MySQL正常连接 #### 检查网络配置 当遇到MySQL拒绝连接的情况时,首先要确认的是服务器端口是否开放以及监听地址是否正确。对于Linux环境下的MySQL服务,默认情况下会绑定到`127.0.0.1`即本地回环接口,这意味着它只接受来自本机内部的应用程序请求。 为了允许远程访问,需编辑MySQL配置文件(通常是`my.cnf`或者`mysqld.cnf`),找到如下行: ```ini bind-address = 127.0.0.1 ``` 将其修改为服务器的实际IP地址或者是`0.0.0.0`(表示监听所有可用网络接口),保存更改并重启MySQL服务[^1]。 另外,在防火墙层面也需要确保相应的端口号(默认是3306)处于开启状态。可以通过以下命令查看当前系统的防火墙规则,并根据需要调整: ```bash sudo ufw status verbose ``` 如果是云服务商提供的虚拟主机,则还需要登录控制台检查安全组策略是否有放通该端口流量。 #### MySQL权限设置方法 除了上述提到的网络层面上的操作外,还需注意数据库用户的权限管理。创建具有适当权限的新用户或授予现有账户足够的操作权利是非常重要的一步。具体来说就是通过SQL语句赋予特定客户端机器上的某个账号对指定数据库对象执行各种动作的能力。 假设要给名为`user_name`的用户分配从任意位置(`%`)访问的权利,可以使用下面这条指令完成授权过程: ```sql GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; ``` 这里需要注意替换实际使用的用户名密码字符串。此外,建议仅给予必要的最小化权限集以遵循安全性最佳实践原则。 最后记得再次启动MySQL服务使这些变更生效[^5]。 #### 解决方案总结 综上所述,针对将电脑IP设为静态之后MySQL无法建立连接的问题,应该先核查网络参数设定无误后再审查数据库自身的认证机制是否合理。按照以上指导逐步排查直至问题得到圆满解决为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值