CentOS7下开启防火墙 安装mysql用yum安装mysql(解决包依赖失败的解决方法)

一.开启防火墙:

CentOS7通过控制防火墙打开端口很对TCP/IP协议访问的操作很多,以前的OS版本也可以对iptables进行操作,现在OS7版本下不知道为什么不行了。所以使用对firewalld进行操作。

1.firewall常用操作举例

查询状态:# systemctl status firewalld
启动防火墙:# systemctl start  firewalld
停止防火墙:# systemctl stop firewalld
启用防火墙:# systemctl enable firewalld
禁用防火墙:# systemctl disable firewalld

查看当前的开放端口:# firewall-cmd --zone=public --list-ports

添加端口到永久开放:# firewall-cmd --permanent --zone=public --add-port=XXXX/tcp --add-port=XXXXX/tcp

 添加服务到永久开房:# firewall-cmd --permanent --zone=public --add-service=samba

重启并更新配置:# firewall-cmd --reload  

二.安装mysql

第一步:卸载所有已经安装的mysql

rpm -qa|grep -i mysql

查询出的结果如果只有mysql-lib的包请忽略,如果没有的话,继续下面过程

用rpm -ev XXXXX(文件名)删除上条命令中查到的所有文件

如果卸载过程中遇到了

Failed dependencies:如下图


那要根据提示先去卸载了它依赖的包。

有个简单的方法:

find / -name mysql

查出一堆目录的话,删除上面的所有目录

最后删除my.cnf

使用下面指令

rm -rf /etc/my.cnf
第二步下载yum安装包,如果没有yum,自行安装具体可百度谷歌

方便起见,使用wget下载

cd进你想要下载到的目录里面:

cd /home
wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64

这是原来的思路- -后来发现,你不论如何下载,其实结果就是一样的。因为他默认下载了最新版本的mysql,版本越新越不稳定,我们还是偏好不老不新的版本。

所以,这里应该用官网的方法

首先去http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64下载你所需要的包:


然后执行

sudo yum localinstall mysql57-community-release-el7-{version-number}.noarch.rpm

version-number填成你的版本号,切记el7不要变成el6,这样是版本不一致的,el6是针对centos6的。

然后查询mysql的安装源

shell> yum repolist all | grep mysql


如图,你的可能不是这样的,我们要安装57,所以要把除57版本的mysql全部禁用,并打开57版本。

比如下面的命令

sudo yum-config-manager --disable mysql56-community

禁用56版本

sudo yum-config-manager --enable mysql57-community

开启57版本

当然你如果有dnf的话也可以用 sudo dnf config-manager之类的进行同样的操作,结果是一样的

三.查看mysql源的可用性

yum repolist enabled | grep mysql

四安装mysql

shell> sudo yum install mysql-community-server

开启mysql

sudo service mysqld start

(这里注意之前先开启3306端口的防火墙,见上面的防火墙)


三.修改mysql的密码:

安装完成后是有一个默认的root登陆密码的

这里我们先使用下面命令

grep "password" /var/log/mysqld.log

出现了上面的界面,我们可以看到一个密码。这就是临时密码,复制该密码

然后mysql -u root -p

输入密码中输入你刚才复制的密码

然后设置新的密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

如果出现了ERROR 1819

这个错误其实是由于validate_password_policy的设置,这个值默认是1的,要求你设置的密码比如符合相应长度并且含有数字,小写大写字母和特殊字符

所以设置该值为0

set global validate_password_policy=0;

这样再去修改密码长度限制

set global validate_password_length= 4;

再去修改上面的密码即可。

然后退出mysql,重启mysql即可

四.设置mysql的字符集为UTF-8

1.修改my.cnf

vim /etc/my.cnf

2.在mysqld的部分添加

character- set-server=utf8

3.在末尾添加client字段

[client]
default-character-set=utf8

4.登陆mysql查看字符

show variables like "%character%";

观察


然后是设置远程连接数据库

显示登陆mysql

mysql -u root -p

输入密码

use mysql

select User,Host from user


然后修改Host

UPDATE user SET host= '%' where user= 'root';
select User, Host from user;


五。设置开机自启动

chkconfig -- list | grep mysqld

现在可见是off的,打开开机启动

chkconfig mysqld on

即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值