欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VMware——Linux虚拟机安装Mysql

程序员文章站 2022-05-27 13:34:36
...

原链接​​​​​​​

1、下载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 [email protected]'%' 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了。

相关标签: VMware 安装mysql