1.安装前准备工作
1)卸载mariadb相关的RPM包
执行命令:rpm -qa|grep mariadb
如果系统安装有mariadb相关包,结果示例如下:
[root@localhost /]# rpm -qa|grep mariadb
mariadb-server-5.5.41-2.el7_0.x86_64
mariadb- 5.5.41-2.el7_0.x86_64
mariadb-libs-5.5.41-2.el7_0.x86_64
如果系统没有安装,则不会显示任何东西。
卸载mariadb相关RPM包(如果系统没有安装,则跳过)
执行卸载命令:
[root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
[root@localhost /]# rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64
[root@localhost /]# rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64
2) 检查系统是否已经安装mysql
执行命令:[root@localhost /]# rpm –qa|grep mysql
如果已经安装,则与步骤1)类似的处理,卸载查询出的所有RPM包
删除与MySQL相关的所有文件/文件夹
执行命令:find / -name mysql
如果查询显示有相关文件/文件夹,则
执行删除命令: rm -rf 文件/文件夹
执行命令:whereis mysql 注:where 和is之间没有空格
将查询出来的mysql相关文件/文件夹删除
删除完成后,为确保万一,可以选择重启操作系统。
2.从官网下载安装包
链接如下:https://dev.mysql.com/downloads/mysql/
也可以下载百度网盘:链接:https://pan.baidu.com/s/1dDPLTQGJb_tNiWPfrr61xw
提取码:b5ll
下载好后把压缩包上传到服务器上解压得到10个.rpm的安装文件
3.开始安装
注意:各个文件是有依赖性的,必须按以下顺序安装
1.rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
2.rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
3.rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
4.rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
5.rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
到此为止安装就算完了
4.启动MySQL
service mysqld start 或者 systemctl start mysqld
启动好后查看下状态systemctl status mysqld
5.登录
启动后就可以去找到root的临时密码登录了
执行命令:vi /var/log/mysqld.log 找到这个临时密码
登录MySQL,登录进去是没有权限任何操作的,必须修改密码
登录代码 mysql -u root -p 回车就让你输入密码,可以直接拷贝密码,省的输错
登录成功后就要修改密码
set password for 'root'@'localhost'='newpasswd'
newpasswd就是你设置的新密码,密码必须要符合要求,八位及以上,需要大小写、数字和特殊字符(尽量满足这个复杂度,以免报错)
到此就算mysql数据库安装完成了。
6.设置mysql远程登录
参考链接:https://blog.csdn.net/benben0503/article/details/51671680
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
基本上2种方法
1)改表法
登陆mysql,修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
update user set host = '%' where user = 'root';
flush privileges;
一定要执行这两个,不能少第二个
2)授权法
防火墙开放3306端口
编辑防火墙配置文件
vi /etc/sysconfig/iptables
增加下面一行(注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重启防火墙
service iptables restart
我就设置了第一步也不能远程,设置了第二个就可以远程了。必要时可以用抓包工具tcpdump抓取一下3306端口的数据包,看看
这样基本上就可以远程连接了。