centos7下载MySQL
- 前言
- 正式开始
- 卸载不需要的环境(如果你之前没有安装过数据库相关的东西可以跳过)
- 下载mysql
- 登录mysql
- 登陆⽅法⼀【不⾏就下⼀个】
- 登陆⽅法⼆【不⾏就下⼀个】
- 登录方式三
前言
安装和卸载MySQL都用系统的root权限,更方便一点,安装成功后系统的普通用户也是可以用的。
正式开始
卸载不需要的环境(如果你之前没有安装过数据库相关的东西可以跳过)
这里介绍一下怎么卸载mariadb,因为我的系统中有一个mariadb,卸载MySQL也是同理的。
首先,用下面这个命令查看一下你的系统中有没有运行mariadb服务:
ps ajx | grep mariadb
#这里是查看mariadb,如果你想看你系统中有没有mysql在运行可以将mariadb换成mysql
我的系统查出来是这样的:
[root@VM-24-6-centos ~]# ps ajx | grep mariadb
5779 5956 5779 5779 ? -1 Sl 27 80:43 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
12731 13051 13050 12731 pts/12 13050 S+ 0 0:00 grep --color=auto mariadb
其中很长的那个进程就是mariadb的服务器。
如果你的系统中也有,那就先用下面的命令给关掉:
systemctl stop mariadb.service
然后再用ps ajx | grep mariadb就没有了:
[root@VM-24-6-centos ~]# ps ajx | grep mariadb
12731 15795 15794 12731 pts/12 15794 S+ 0 0:00 grep --color=auto mariadb
一般通过yum获取的安装包格式都是.rpm,如果你之前安装过,肯定是保留有这些安装包的,这里的mariadb也是,用rpm -qa可以查看所有的安装包,不过这里只想要卸载mariadb,所以要加一个grep:
[root@VM-24-6-centos ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
mariadb-server-5.5.68-1.el7.x86_64
mariadb-5.5.68-1.el7.x86_64
mariadb-devel-5.5.68-1.el7.x86_64
可以看到这里有四个安装包,可以一个一个手动删除,但是也可以用一下xargs来转换命令函参数:
rpm -qa | grep mariadb | xargs yum -y remove
这样就卸载成功了:
再来查看一下mariadb相关的配置文件,文件:/etc/my.cnf,ls查看一下:
如果没有这个文件那就没什么问题,如果有可以做一下备份(重命名一下)。
然后再看看有没有原先你遗留下来的数据库,在/var/lib/mysql/路径下:
如果有,不用关心,不回影响重新下载MySQL的使用,如果没有也没问题。
下载mysql
首先,最重要的一步,看一下你系统的发行版本,等会下载的时候要按照版本下。
[root@VM-24-6-centos ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
可以看到我这里是7.9的。
然后要从这个网站中下载一个mysql的yum源:mysql官⽅yum源
点开之后非常乱,是这样的:
没关系,鼠标放到右边空白的地方,右键:
点击查看页面源代码,就会变成这样:
对比中间的:
来找你的版本,往下翻,其中以el开头的就是centos的,有两种:
一种是mysql57:
一种是mysql80:
后面的el几 - 几的就表示你的centos的发行版本,找一个最匹配的。
我这里下载mysql57的,你也可以下载80的,但是我后续会讲解mysql,如果你想要根据我的博客来学习的话,建议跟着我下载57的,因为不同版本可能出现的问题会不太一样。
前面也看到了我的centos版本是7.9的,那我下载的就是这个:
如果上面没有和你版本匹配的,就可以下载最下面的那个:
注意:最好安装和⾃⼰系统⼀致的mysql版本,否则可能会存在软件兼容性问题。
下载好之后就是这个:
然后打开你的xshell,如过你没有rzsz,用yum下一个,可以直接从你的Windows下把文件搞到你的Linux中:
创建一个mysql目录,把这个文件放进去:
可以看到就是.rpm结尾的。
然后用下面这个命令:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
相当于是解压。
运行效果:
[root@VM-24-6-centos MySql]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
Preparing... ################################# [100%]
Updating / installing...
1:mysql57-community-release-el7-9 ################################# [100%]
然后再:
[root@VM-24-6-centos MySql]# rpm -qa | grep mysql
mysql57-community-release-el7-9.noarch
有这个就OK。
然后再看一下你的yum源有没有mysql相关的:
yum list | grep mysql
可以能会比较慢,效果:
如果有上面这些效果就ok。
然后就可以安装mysql了,用下面的命令:
yum install -y mysql-community-server
如果你下载的时候遇到这样的问题:
不用担心,用下面的命令就解决了:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
执行完这个命令再重新执行yum install的那个命令就好了。
正确下载好的效果:
这样就下载完了。
再来看一下mysql的相关配置文件:
是有的。
再看一下mysqld服务器和mysql:
这里mysqld是在sbin目录下的,只有超级用户才能启动服务器,普通用户不能启动,不过我们用的时候是把sql语句交给mysql,然后mysql再将我们的请求交给mysqld的,所以普通用户也是能用mysql的。
此时启动mysqld:
这样就能看到服务器已经启动了,一般以d开头的都是守护进程(我前面网络的博客中讲过),这里的mysqld一样,也是一个守护进程,用netstat也能查看到:
登录mysql
这里服务器启动了mysql也就能登录了,但是这里刚下载登录不上去,不知道密码:
登陆⽅法⼀【不⾏就下⼀个】
获取临时root密码
[root@VM-24-6-centos MySql]# grep 'temporary password' /var/log/mysqld.log
如果你试了之后没有用,没关系,我的也没有。那就下一个方法。
不是说没有这个文件,而是较新版本下已经不支持这个方法了,但这个日志文件还是在的:
登陆⽅法⼆【不⾏就下⼀个】
如果你安装的最新的mysql,没有所谓的临时密码,root(这里的root是指mysql的root,和Linux系统重的root不是一个东西,这个后面博客再说)默认没有密码
试着直接client登陆⼀下:
我这里能直接登上,不知道你的能不能。如果你的登上了,输入quit; 就能退出。
如果你还是登不上,看下一种。
登录方式三
打开配置文件:
进去之后是这样的:
在[mysqld]最后⼀栏配置(不知道是什么,就放在配置⽂件最后) 加⼊: skip-grant-tables 选项,并保存退出:
这里配置文件修改好之后要重新启动一下mysqld,因为之前启动的时候是按照之前的配置文件启动的:
此时再次登录,虽然还是让你输入密码,但是你随便输入啥都能登上去,就是不输入光按个回车也能登录。
或者说登录的时候不加上选项 -p 就能直接登录:
下面再对配置文件做一点修改,主要是将数据库客户端和服务端的编码格式默认配置一下,修改如下:
port是默认端口,这里修改默认的是3306。
character-set-server是编码,这里给的是UTF-8。
default-storage-engine是存储引擎,这里给的是innodb。
mysql其实是一个网络服务,所以也是要用端口号的,不过这里是单机式访问。关于编码和存储引擎的事我后面博客再讲,这里就先了解一下就行。
到这里所有该干的都完成了,在练习初期,mysql先不搞什么用户的管理,先按root用着,我后面博客尽快讲,等讲到用户管理了再考虑新建普通用户、给root设置密码登工作。
到此结束。。。