1、执行命令:rpm -qa | grep -i mysql
,先查看系统之前是否有安装相关的rpm包,如果有,会显示类似下面的信息;
2、通过命令yum -y remove mysql-*
一次性删除系统上所有相关的rpm包,或者通过命令yum -y remove
文件名 ,一个一个的删除;
3、如果系统上面没有相关的rpm包或者已经删除完了,不会显示任何信息
4、mysql的rpm包下载网址:https://dev.mysql.com/downloads/repo/yum/,在页面最下面有不同系统版本号的rmp下载链接;
点击下载会出现如下图所示:
下面步骤的操作都是以上图所示的mysql80-community-release-el7-1.noarch.rpm为例,
下载rmp包的两种方式
a、通过yum install el7-1.noarch.rpm
下载rpm包,可能出现如下问题:,那么就要通过第二种方式下载了;
b、通过命令:wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
,下载mysql的rpm包
5、解压下载的rpm包命令:rpm -ivh mysql80-community-release-el7-1.noarch.rpm
6、执行命令安装mysql:sudo yum install mysql-community-server
,会陆续出现如下等信息(只截取部分)
7、安装完成后启动mysql命令:sudo service mysqld start
8、查看mysql运行状态命令:sudo service mysqld status
tips:查看系统运行的mysql进程号:ps -aux|grep mysql
9、linux系统下面首次或者重新安装mysql时,默认系统用户root还是登陆不进去的,需要进行如下操作:
-
a、编辑mysql的配置文件,一般放在etc目录下,例如:
vi /etc/my.cnf
-
b、在该配置文件的下面新增一条语句:
skip-grant-tables;
-
c、重启mysql服务:
service mysqld restart
-
d、执行mysql语句,不加任何参数,进入mysql环境;
-
f、先执行:
use mysql;
最新版本的mysql的user表里面可能没有password字段了,变成了authentication_string字段,实践了几次发现命令:update user set authentication_string='' where User='root';
修改后,重启服务无法顺利执行mysql。因此先执行命令:update user set authentication_string='' where User='root';
将root的密码设置为空,再进行接下来的操作; -
g、修改成功后,退出mysql,然后在编辑配置文件:
vi /etc/my.cnf
,将在a步骤操作中添加的语句skip-grant-tables
删除; -
h、编辑完配置文件后,因为root的密码已经设置为空了,所以执行
mysql -uroot -p
(不能直接执行mysql,会影响接下来的操作),密码输入栏直接回车,进入mysql环境了,然后执行命令:use mysql
和命令ALTER user 'root'@'localhost' IDENTIFIED BY 'qQ1i2px@';
(并且密码必须尽量复杂,不然会提示无法成功修改密码)。这样,这个mysql数据库的账号就设置好了,下次登录就需要输入设置好了的密码;这里接下来不用执行命令(FLUSH PRIVILEGES;) -
j、如果想要远程连接mysql服务的话:
update mysql.user set Host='%' where HOST='localhost' and User='root';
和命令flush privileges;
由于5.8版本的mysql使用的是plugin: caching_sha2_password
密码验证登陆,所以需要将其修改为:alter user 'root'@'%' identified with mysql_native_password by 'new password';