Mysql-rpm包安装及测试讲析
本文主要给大家介绍Mysql-rpm包安装及测试讲析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。
一、新特性
MySQL 5.7可谓是一个令人激动的里程碑,在默认了InnoDB引擎的基础上,新增了ssl、json、虚拟列等新特性。相对于postgreSQL和MariaDB而言,MySQL5.7做了大量"补短"操作。
二、升级操作
1、卸载旧版本
1.1、查看MySQL
1 2 | rpm -qa|grep mysql rpm -qa|grep mariadb |
1.2、卸载MySQL
1 2 3 4 | rpm -e --nodeps mysql-5.1.73-7.el6.x86_64 rpm -e --nodeps mysql-connector-odbc-5.1.5r1144-7.el6.x86_64 rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64 rpm -qa|grep mysql |
1.3、删除数据目录
1 2 | ls -l /var/lib|grep mysql rm -rf /var/lib/mysql |
数据目录可以备份移走。mysqld服务在初始化时会检查数据目录是否存在:如果数据目录不存在,mysqld则会创建它;如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld会显示一条错误信息并中止:
[ERROR] --initialize specified but the data directory exists. Aborting.
注:这一步也可跳过。
2、安装MySQL5.7
2.1、解压MySQL5.7
1 | tar -xvf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar |
顺便提醒,安装环境是CentOS6.5,所以应该选用el6的安装包;CentOS7应该选用el7安装包。
如果安装包对应的系统版本不正确,安装时会出现有关glibc的依赖错误:
warning: mysql-community-libs-5.7.14-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature,key ID 5072e1f5: NOKEY
error: Failed dependencies:
libc.so.6(GLIBC_2.14)(64bit) is needed bymysql-community-libs-5.7.14-1.el7.x86_64
2.2、按照依赖关系依次安装rpm包
依赖关系依次为common→libs→client→server
1 2 3 4 | rpm -ivh mysql-community-common-5.7.14-1.el6.x86_64.rpm rpm -ivh mysql-community-libs-5.7.14-1.el6.x86_64.rpm rpm -ivh mysql-community-client-5.7.14-1.el6.x86_64.rpm rpm -ivh mysql-community-server-5.7.14-1.el6.x86_64.rpm |
不要想着偷懒,client也是需要装的···
3、初始化MySQL5.7
3.1、启动mysqld服务
1 2 | cd ../sbin 是/usr/sbin目录 service mysqld start |
无需手动初始化,启动时间较长,耐心等待一下
3.2、检查mysqld运行状态
1 | service mysqld status |
至此可以判断MySQL基本安装成功了
3.3、找到临时登录密码
1 | vi /var/log/mysqld.log |
也可以使用此命令更快速的找到 cat /var/log/mysqld.log | grep password 找到随机密码就可以登录MySQL了
3.4、登录
1 | mysql -uroot -p |
使用root账号登入
4.1、修改root密码
1 | alter user 'root'@'localhost' identified by 'abc@123'; |
在5.6后,mysql内置密码增强机制,低强度密码会报错:
ERROR 1819 (HY000): Your password doesnot satisfy the current policy requirements
4.2、添加远程登录用户
1 2 | use mysql; (注:这里指的是使用名为mysql的这个库) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abc@123' WITH GRANT OPTION; |
'%'代表任意地址,也可以指定IP
4.3、检查用户表,刷新内存权限
1 2 | select host, user from user; FLUSH PRIVILEGES; |
4.4、设置防火墙
1 | vi /etc/sysconfig/iptables |
在-A RH-Firewall-1-INPUT -j REJECT -reject-with icmp-host-prohibited之前,添加
1 | -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT |
4.5、重启防火墙
1 | service iptables restart |
Linux 安装Mysql常用命令汇总
查看是否安装Mysql:
rpm -qa|grep mysql
rpm -qa|grep mariadb
删除命令:
rpm -evMySQL-server-5.7.14-1.linux2.6.i386
rpm -evMySQL-client-5.7.14-1.linux2.6.i386
如果删除不了,可以在后面加 --nodeps强行删除
安装命令:
rpm -ivh MySQL-server-5.7.14-1..linux2.6.i386.rpm
安装过程报错:Header V3DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
解决方法:rpm -ivhMySQL-server-5.7.14-1.el6.x86_64.rpm --force -nodeps
这里需要注意一下依赖包的安装顺序,如安装顺序正确基本不会出现报错,不推荐使用强行安装。
Linux设置防火墙命令
iptables是linux下的防火墙,同时也是服务名称。
service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
防火墙开放特定端口:
①文件/etc/sysconfig/iptables
②添加:
-A INPUT -m state --state NEW -m tcp -p tcp--dport 8080 -j ACCEPT(允许80端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
-A RH-Firewall-1-INPUT -m state --stateNEW -m tcp -p tcp --dport 8080 -j ACCEPT (不可用)
★数字8080代表开放8080端口,也可以改成其他的端口★
③重启防火墙
-A INPUT -m state --state NEW -m tcp -ptcp --dport 8080 -j ACCEPT(允许80端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
================================================================
保存对防火墙的设置
serivceiptables save
查看iptables规则及编号
iptables -nL--line-number
关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口
iptables -PINPUT DROP
iptables -PFORWARD DROP
iptables -POUTPUT DROP
只打开22端口
iptables-A INPUT -p tcp --dport 22 -j ACCEPT
iptables -AOUTPUT -p tcp --sport 22 -j ACCEPT
参数讲解:
-A 参数就看成是添加一条规则
-p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
-dport 就是目标端口,当数据从外部进入云服务器为目标端口
-sport 数据从服务器出去,则为数据源端口使用
-j 就是指定是 ACCEPT -接收 或者 DROP 不接收
禁止某个IP访问
iptables -AINPUT -p tcp -s 192.168.1.2 -j DROP
-s 参数是来源(即192.168.1.2)
后面拒绝就是DROP
删除规则
iptables -DINPUT 2
删除INPUT链编号为2的规则
看了以上关于Mysql-rpm包安装及测试讲析,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。