一.开启防火墙:
CentOS7通过控制防火墙打开端口很对TCP/IP协议访问的操作很多,以前的OS版本也可以对iptables进行操作,现在OS7版本下不知道为什么不行了。所以使用对firewalld进行操作。
1.firewall常用操作举例
查看当前的开放端口:# 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
使用下面指令
方便起见,使用wget下载
cd进你想要下载到的目录里面:
这是原来的思路- -后来发现,你不论如何下载,其实结果就是一样的。因为他默认下载了最新版本的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登陆密码的
这里我们先使用下面命令
出现了上面的界面,我们可以看到一个密码。这就是临时密码,复制该密码
然后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的部分添加
3.在末尾添加client字段
4.登陆mysql查看字符
观察
然后是设置远程连接数据库
显示登陆mysql
mysql -u root -p
输入密码
use mysql
select User,Host from user
然后修改Host
五。设置开机自启动
现在可见是off的,打开开机启动
即可。