Linux下进行mysql安装、设置密码、开启远程连接等配置操作

此处采用的Linux系统为CentOS7。

安装mysql

  • 下载并安装MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

在这里插入图片描述

  • yum安装
[root@localhost ~]#  yum -y install mysql57-community-release-el7-10.noarch.rpm

在这里插入图片描述

  • 安装MySQL服务器
[root@localhost ~]# yum -y install mysql-community-server

启动/关闭mysql服务

  • 查看mysql运行状态
[root@localhost ~]# service mysqld status

如下图为未启动状态:
在这里插入图片描述

  • 启动mysql服务
[root@localhost ~]# service mysqld star

启动后再查看mysql运行状态如下:
在这里插入图片描述

  • 关闭mysql服务
[root@localhost ~]# service mysqld stop

设置mysql用户密码

  • 获取root用户初始密码
    刚安装的mysql只有root用户,此时需要先知道root用户的密码登录mysql才能进行其他操作。我们可以通过查看mysqld.log文件得到root用户的初始密码。
[root@localhost ~]# grep "password" /var/log/mysqld.log


上图中红框圈中的U_::lys+M2QB就是root用户的密码,注意是需要区分大小写的。

  • 登录mysql的root用户
    通过以下命令并输入密码后,就可以登录到root用户上。
[root@localhost ~]# mysql -u root -p

在这里插入图片描述
上图中红框位置既是需要输入密码的位置,注意输入密码是不会显示有任何填写的(已经输入密码成功但是该位置仍是空白)。所以需要自己记住输入什么了,输入完成按Enter即可,如果密码错误则会有错误提示。

  • 重新设置root用户密码
    在mysql中默认的密码规则等级是中级,即123456等这种简单的密码设置是不被允许会设置失败的。所以如果想要随意设置密码的话,可以先降低密码规则等级,再进行密码设置。
    1.查看当前密码规则
mysql> show variables like 'validate_password%'

在这里插入图片描述
如上图所示,第一个红框显示的是密码的长度,第二个红框为密码等级,MEDIUM为中级。

2.修改密码规则

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=6;

第一句为修改密码等级为低级,第二句为修改密码长度为6,修改后重新查看密码规则可以看到密码等级变为LOW。

3.设置root用户密码

mysql> alter user 'root'@'localhost' identified by '123456';
mysql> flush privileges;

修改成功后退出mysql重新登陆则需要使用新的密码。

设置远程连接

  • 查看linux的IP
[root@localhost ~]# ifconfig

在这里插入图片描述

  • 检查IP是否可以在别的电脑ping通过,在windows系统的cmd中输入以下命令:
C:\Users\Administrator>ping 192.168.146.128

其中ping后面为linux系统的IP,出现以下界面则为通过。
在这里插入图片描述
如果ping失败,则需要检查linux系统所在网络是否有问题,原因比较多,诸如需要关闭防火墙等,最好交给熟悉网络方面的人员解决。

  • 检查mysql端口是否对外开放
    如果ping通过后,检查mysql端口,一般mysql默认的端口都是3306,如果不确定可以先登录mysql用以下语句查询。
mysql> show variables like '%port%';

在这里插入图片描述
如上图红框显示,我当前mysql的端口就是33006。接下来可以在windows系统的cmd通过telnet命令检查端口开放情况。

C:\Users\Administrator> telnet 192.168.146.128 3306

如果出现telnet不是内部命令的提示,则是因为你的windows系统telnet命令没有开启,可以如下图操作进行开启。
在这里插入图片描述
当前截图使用的是win10系统示例,其他系统的打开路径可能不太一样,具体可以自行百度。

  • 在linux系统中开放mysql的端口
    针对不同的linux系统,开放端口和查看端口的命令不太一样。以我所使用的CentOS7系统为例,其相关命令如下:
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost ~]# firewall-cmd --permanent --list-port

第一句为开放对应窗口,第二句为查看已经开放的端口,操作结果如下图所示。
在这里插入图片描述
其他系统可以尝试如下命令,具体博主没有试过,只能等待有缘人去尝试了。

vi  /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

第一句为打开iptables文件,第二句为写入该文件的语句,最后保存退出文件(按ESC,然后输入:wq),再输入service iptables restart重启防火墙即可。
开放mysql端口成功后,再在windows系统的cmd中使用telnet即可成功连接。

  • 给访问mysql数据库的用户权限
    登录mysql账户,在mysql数据库中输入以下语句可以给root开通访问权限。
mysql> grant all privileges on *.* to 'root'@'%' identified by 'Qqaz_123' with grant option;
mysql> flush privileges;

第一句中,’%'表示所有电脑都可以连接,如果要直接只有特定电脑可以连接的话,可以把%换成对应电脑的IP。'Qqaz_123’代表连接时所使用的密码,需要满足密码规则,奇怪的是我前面已经调整过mysql密码规则为低级了,然后此处仍是需要满足原有的中级规则,原因后面再研究。

如果不想直接使用root账户,可以直接自己创建一个新的用户并进行授权。

mysql> create user 'test'@'%' identified by 'Qqaz_123';
mysql> grant all on *.* to 'test'@'%';
mysql> flush privileges;
  • 连接数据库
    通过以上的操作,我们就可以在其他系统中远程连接该数据库了,比如用navicat工具进行连接,如下图可以看到连接成功。
    在这里插入图片描述
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值