目录

Linux中安装MySQL

Linux中安装MySQL

检查是否有MySQL服务并卸载

检查并卸载

在安装MySQL数据库之前,我们需要先检查一下当前Linux系统中,是否安装的有MySQL的相关服务(很多linux安装完毕之后,自带了低版本的mysql的依赖包),如果有,先需要卸载掉,然后再进行安装。

A. 通过rpm相关指令,来查询 当前系统中是否存在已安装的mysql软件包,执行指令如下: rpm -qa 查询当前系统中安装的所有软件 rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件 rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件 通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。 https://i-blog.csdnimg.cn/img_convert/23a5e9c4fe7c10faa243ce4f13e7afec.png 通过查询发现我的contos系统中是没有的。 如果你们的系统中发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。 RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。 B. 通过 rpm 相关指令,来卸载对应的组件,执行指令如下: 在rpm中,卸载软件的语法为: rpm -e –nodeps 软件名称 那么,我们就可以通过指令,卸载 mariadb,具体指令为: rpm -e –nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。

安装MySQL

上传MySQL安装包

我把我的MySQL压缩包放到了 /usr/local/app_local 目录中了 https://i-blog.csdnimg.cn/img_convert/ea1a7e0797ccdaf739d678e365d68e8a.png

解压到当前目录

tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz https://i-blog.csdnimg.cn/img_convert/bd7308f31ce1f7caf350aba31f41cdc3.png

解压后的文件夹移动到 /usr/local 目录下, 并改名为 mysql

mv mysql-8.0.30-linux-glibc2.12-x86_64 /usr/local/mysql cd /usr/local/mysql 移动 https://i-blog.csdnimg.cn/img_convert/d57794774d792734e1cb79b933ab5253.png 进入到MySQL安装目录 https://i-blog.csdnimg.cn/img_convert/146457da2a378f3b591a4e9b5511adb3.png

配置系统环境变量

export MYSQL_HOME=/usr/local/mysql export PATH=$MYSQL_HOME/bin:$PATH https://i-blog.csdnimg.cn/img_convert/8ff30e566304a312aa1abb76b8e81d15.png

重启配置

source /etc/profile https://i-blog.csdnimg.cn/img_convert/80a480f8fb4da5b0ed5080be9f91786b.png

执行如下指令, 注册MySQL为系统服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chkconfig –add mysql https://i-blog.csdnimg.cn/img_convert/dabc2cb6bbbd13bc03e553d0f60dcfe5.png

初始化数据库

#创建一个用户组, 组名就叫mysql groupadd mysql #创建一个系统用户 mysql, 并归属于用户组 mysql , useradd -r -g mysql -s /bin/false mysql 创建用户组 https://i-blog.csdnimg.cn/img_convert/4311ae71427b12dc1d8fe3dbdd15ea55.png 创建系统用户 https://i-blog.csdnimg.cn/img_convert/f70771fd0f16b07c6ec5ce02533346d7.png #初始化mysql mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data 如果在初始化mysql的时候,出现报错的情况也不用慌。我右解决教程 https://i-blog.csdnimg.cn/img_convert/15e5e927f5e13b1d7d79b306b2ff6c8f.png 执行下面命令 yum -y install libaio

libaio包的作用是为了支持同步I/O。对于数据库之类的系统特别重要,因此在linux上安装数据库软件,就需要安装libaio https://i-blog.csdnimg.cn/img_convert/5f7a58bd4d0ada31fbcc8014e126642a.png 安装完 libaio之后,在次进行mysql的初始化。 https://i-blog.csdnimg.cn/img_convert/d23a2ebe3994f9bc2f237255ae729deb.png 执行上述指令时, 会输入如下日志,在日志中就输出了MySQL中root用户的一个临时密码【记得复制出来,记录下来 】:

启动MySQL

启动MySQL服务

systemctl start mysql https://i-blog.csdnimg.cn/img_convert/60576a3ee5b5589f19fc4e8590127f89.png

通过命令, 登录MySQL

#xxxxx 代表上述生成的root的临时密码 mysql -uroot -pxxxxx https://i-blog.csdnimg.cn/img_convert/3d55232e60a1e730268f900113972c5d.png

配置MySQL

修改root用户的密码

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘1234’; https://i-blog.csdnimg.cn/img_convert/b20617142eeb311d3f1239d2d5425e38.png 注意: 这个root账号仅仅能够在本机localhost上访问,我们在windows上是无法访问的。如果需要在window上或其他服务器上也能远程访问,需要创建一个账号,用于远程访问的。 D. 创建账号, 并授权远程访问 #创建一个远程连接用户 CREATE USER ‘root’@’%’ IDENTIFIED BY ‘1234’; #给这个用户授予全部的权限 GRANT ALL PRIVILEGES ON . TO ‘root’@’%’; #刷新下配置 FLUSH PRIVILEGES; https://i-blog.csdnimg.cn/img_convert/b5a5d4129b6769d9777d27b8f90888f0.png

查看MySQL的用户和主机

select user,host from mysql.user; https://i-blog.csdnimg.cn/img_convert/f637d5b4306a83454b1315894f2b34c3.png

登录测试

我在我window电脑的cmd窗口连接下 mysql -h 123.56.247.70 -uroot -p 密码 #回车 https://i-blog.csdnimg.cn/img_convert/418af0988d7752a073dacfb2dde8c19c.png 如果要是连接不上在电脑本地,可能是防火墙的问题。 最快速的方法就是关闭防火墙 systemctl stop firewalld systemctl disable firewalld