VMware——Linux虚拟机安装Mysql

 原链接地址

下载mysql rpm包

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
如果没有 wget 则运行
yum -y insatall wget

2、安装mysql rpm包

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

3、安装mysql

yum install mysql-community-server

4、安装成功后需要重启mysql服务。

service mysqld restart

5、刚开始安装的Mysql5.7是会随机生成一个root密码的,我们要先找到这个随机密码,然后改新密码。我们可以通过grep命令查找随机root密码。

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

6、使用随机密码登录mysql

mysql -uroot -p

7、进入后重置root密码

mysql> SET password=PASSWORD("mysql123");
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。
修改规则  进行以下设置
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)
validate_password_length
密码最小长度,参数默认为8,
validate_password_mixed_case_count
密码至少要包含的小写字母个数和大写字母个数。

validate_password_number_count
密码至少要包含的数字个数。
validate_password_special_char_count
密码至少要包含的特殊字符数。

8、最后授予外网登录权限,username为用户名,password是登录密码

mysql>grant all privileges on *.* to username@'%' identified by 'password';

这时远程还是连接不上数据库

发现连接不上, 原来如此是端口被防火墙限制了. 
现在只需要是在防火墙中打开3306端口即可.

执行 vi /etc/sysconfig/iptables 

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT 
加入这句话就可以了, 注意这句话一定要加在最后一句话的上面. 否则不会生效.同样如果是其它端口把”3306”换成相应端口即可.然后重启一下防火墙 
service iptables restart 
搞定!

重启发生了这个错误:

Failed to restart iptables.service: Unit not found.

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,如果要添加范围例外端口 如 1000-2000语法命令如下:启用区域端口和协议组合 
firewall-cmd [–zone=] –add-port=[-]/ [–timeout=] 
此举将启用端口和协议的组合。端口可以是一个单独的端口 或者是一个端口范围 - 。协议可以是 tcp 或 udp。实际命令如下:

添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 

重新载入
firewall-cmd --reload

查看
firewall-cmd --zone= public --query-port=80/tcp

删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

当然你可以还原传统的管理方式。 
执行一下命令:

systemctl stop firewalld  

systemctl mask firewalld 

并且安装iptables-services:
yum install iptables-services  

设置开机启动:
systemctl enable iptables  

systemctl stop iptables  
systemctl start iptables  
systemctl restart iptables  
systemctl reload iptables

保存设置:
service iptables save  

OK ,这样就可以进行远程访问Mysql了。

猜你喜欢

转载自blog.csdn.net/loveer0/article/details/82495877