本文介绍rpm方法安装mysql,下面写下我的安装过程,然后成功的在CentOS7中安装了mysql 8.0.27,确认自己是centos7系统,并且安装的是mysql8,本教程基本可以傻瓜式安装。
- 清理已经存在的mysql
查询已经安装的mysql
rpm -qa | grep mysql
'xxxx’代表 rpm -qa | grep mysql 展示出来所有mysql相关的安装,可能有多个,则重复多次 yum -y remove ‘xxxx’ 直到卸载完
yum -y remove 'xxxx'
查找所有与mysql相关的文件
find / -name mysql
使用rm-rf时一定注意确认路径,确认是上一步中查出来的路径,复制的时候不要漏任何字符,否则会造成系统奔溃 , 'xxxx’代表 find / -name mysql 展示出来所有名字,有多个,则重复多次rm -rf ‘xxxx’
rm -rf 'xxxx'
- 清理已经存在的mariadb
查询已经安装的mariadb
rpm -qa | grep mariadb
'xxxx’代表 rpm -qa | grep mariadb 展示出来所有名字,有多个,则重复多次
yum -y remove 'xxxx'
- 下载mysql安装包
进入mysql官网下载,https://dev.mysql.com/downloads/mysql/,复制url在浏览器中粘贴进入如下页面,注意标红框的几个选项
然后将下载下来的安装包放到需要安装MySQL的服务器上边;如果没有传输文件的方式,可以尝试使用xshell、winscp、mobaxterm等软件;
- 安装mysql安装包
解压刚下载的安装包,注意解压的时候加-z参数可能会出错,遇到的时候去掉就行;
tar-xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar
在centos当前路径下输入 ls, 会看到下图中的8个文件,使用 rpm -ivh 安装这8个文件,安装顺序见下图,比如:
100 rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm
102 rpm -ivh mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm
103 rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm
104 rpm -ivh mysql-community-client-8.0.27-1.el7.x86_64.rpm
105 rpm -ivh mysql-community-server-8.0.27-1.el7.x86_64.rpm
106 rpm -ivh mysql-community-libs-compat-8.0.27-1.el7.x86_64.rpm
107 rpm -ivh mysql-community-embedded-compat-8.0.27-1.el7.x86_64.rpm
108 rpm -ivh mysql-community-devel-8.0.27-1.el7.x86_64.rpm
安装过程中可能出现以下问题,按需解决,这部分是综合参考了别的教程,自己也遇到了当中的一些问题,并且也解决了,出现这些问题的原因就是安装过程中需要依赖的很多插件没有安装,需要安装;
出现问题:error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-8.0.27-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.27-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.27-1.el7.x86_64
解决办法: yum install libaio
出现问题:error:Failed dependencies:
pkgconfig(openssl) is needed by mysql-community-devel-8.0.27-1.el7.x86_64
解决办法:yum install openssl-devel.x86_64 openssl.x86_64 -y
出现问题:error:Failed dependencies:
perl(Data::Dumper) is needed by mysql-community-test-8.0.13-1.el7.x86_64
解决办法:yum -y install autoconf
出现问题:error: Failed dependencies:
perl(JSON) is needed by mysql-community-test-8.0.27-1.el7.x86_64
perl(Test::More) is needed by mysql-community-test-8.0.27-1.el7.x86_64
解决办法:
yum install perl.x86_64 perl-devel.x86_64 -y
yum install perl-JSON.noarch -y
yum install perl-Test-Simple
- 启动mysql
初始化数据库:
mysqld --initialize --console
目录授权:
chown -R mysql:mysql /var/lib/mysql/
启动mysql:
systemctl start mysqld.service
查看mysql状态,出现下图中情况说明启动成功了
systemctl status mysqld.service
- 登录mysql
启动mysql后会生成一个临时密码,使用此命令可以查询到临时密码,见下图
grep "A temporary password" /var/log/mysqld.log
使用下边命令进入mysql,然后回车后会要求输入密码,使用上一步获取的临时密码就可以登录,进入下图页面说明登录成功。建议直接粘贴复制查询到的密码,避免输入过程中出错;
mysql -u root -p
-
修改密码
mysql> SET PASSWORD='123456';
-
MySQL中user表中主机配置,配置只要是root用户+密码,在任何主机上都能登录MySQL数据库。
(1)进入MySQL
[root@hadoop101 mysql-libs]# mysql -uroot -p123456
(2)显示数据库
mysql>show databases;
(3)使用MySQL数据库
mysql>use mysql;
(4)展示MySQL数据库中的所有表
mysql>show tables;
(5)修改user表,把Host表内容修改为%
mysql>update user set host='%' where host='localhost';
(6)删除root用户的其他host
mysql> delete from user where host!='%';
(7)刷新
mysql>flush privileges;
(8)退出
mysql>quit;
————————————————
上文安装过程主要是参考其他博主的安装过程,并在安装的过程中解决了自己遇到的问题,关于我自己的问题在下边进行简述;
原文链接:https://blog.csdn.net/tianqin_9169/article/details/121033764
- 问题1:按照上边的安装之后,可能仍然会出现本地软件无法连接远程mysql服务器的情况,这个时候可以继续执行下边的流程进行尝试解决:
(1)开启mysql的远程访问:
drop user 'root';
create user 'root'@'%' identified by 'root';
执行上边这两步的原因是我在执行下边授权的时候会报错,所以将原用户删除之后重新创建,
grant all privileges on _*.*_ to 'root'@'%' with grant option;
flush privileges;
安装过程见下图:
然后重启服务器:注意有的服务器上边的服务可能是“mysql”,不是“mysqld”,这时候只需要改一下服务名就可;
sudo service mysqld restart
(2)开启防火墙上边的3306接口和8080接口,不开启3306接口的话,远程还是连接不到的;
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
(3)重新加载防火墙
firewall-cmd --reload
现在就可以愉快的当个sql boy了!