CentOS8上安装MySQL8.0.26
熟悉的yum安装,前提是可以仓库中提供了MySQL相关的安装包,这个安装包可能还不是最新的,也可以将现有过期版本使用yum remove卸载之后重装;如果需要安装最新的,另外下载使用rqm安装吧。具体yum安装的过程不详述,具体命令可以参考CentOS8安装启用telnet服务 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)。
下图是本次安装的mysql:
自动安装后,基本都是默认配置,直接启动服务试试安装配置是否成功:systemctl start mysqld.service
提示失败,查看日志原因是找不到相关的文件:
不明白,网上搜后续在研究,参考这篇文章https://blog.csdn.net/qq_31977125/article/details/84318745解决了问题。
解决上述问题以后重启服务成功,查看mysqld服务进程:
该进程号为1307,通过/etc/my.cnf 中查看pid-file的位置查看:
文件中的内容就是服务的pid。所以为什么启动服务一定要将服务进程号保存到指定的配置文件呢?PID文件的作用是为了防止同一个数据库被启动多次(数据文件是同一份,但端口不同的情况)。
除了mysql,很多其他的服务也有类似pid-file的应用。通过命令可以看到/var/run下有很多pid后缀文件:
具体服务就是其文件名对应服务,以auditd.pid为例:
当然此上关于pid文件的内容为题外话,具体参考网上其他资源(比如:mysql pid文件作用_pid文件的作用_垃圾箱博物馆的博客-CSDN博客)。
服务启动了,那么接下来就是使用了。首先以DBA的角色登录用户并进行相关用户角色权限的管理:
实际mysql应该默认DBA为root用户,但是在yum安装过程中并没有提示设置密码的环节,默认root用户为超级用户初始可以不用密码登录,直接进入:
同时可知初始root可使用数据库有:
下面开设置超级用户root的密码:使用命令mysql_secure_installation
设置成功后,a blank password将再也无法链接数据库了:
输入设置的密码之后:
上述设置,root可以远程链接到数据库。那么下面对root用户进行数据库远程进行测试:
首先本机(win10——192.168.3.*)上安装mysql客户端并配置之后,链接到192.168.3.165:
链接失败的原因是:root作为超级用户,默认只允许localhost访问链接避免通过远程链接非法获得root用户密码。
将root用户访问路由改为可以从其他主机登录:
再从宿主机链接虚拟机上mysql服务:
mysql的超级用户root解决了还有什么是不能解决的呢O(∩_∩)O哈哈~
MySQL除了提供以上TCP/IP方式进行连接外,还已提供本地套接字连接方式,不过该方式只适用于MySQL和客户端在同一台机器上。套接字文件可由参数socket控制,名为mysql.sock。
需要注意的是:远程登录时可能失败的原因是防火墙,需要将mysql端口对外开放