基础环境:
操作系统:centos 7.X
MySQL版本:5.7
配置官网:http://mirrors.aliyun.com
先检查是否有安装wget工具, 如果没有,使用 " yum install -y wget " 安装wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
从CentOS 7开始,默认安装有社区版MariaDB,这个是MySQL的分支,根据实际需要,有时还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
使用以下的命令就直接下载了安装用的MySQL Yum Repository了,然后就可以直接yum 本地安装了。
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm[root@localhost ~]# yum -y localinstall mysql57-community-release-el7-10.noarch.rpm
准备就绪就可以开始安装MySQL服务器了,稍等片刻就安装好。
[root@localhost ~]# yum -y install mysql-community-server2.启动MySQL
[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log
在日志文件中找出MySQL root密码
用如下命令进入数据库,输入初始密码:
[root@localhost ~]# mysql -uroot -p
此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库,请用以下命令修改root密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这里有个问题,新密码设置的时候如果设置的过于简单会报错:
密码过于简单
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:
MySQL完整的初始密码规则可以通过如下命令查看:
密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
MySQL初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:
mysql> set global validate_password_policy=0;mysql> set global validate_password_length=1;
此时密码就可以设置的很简单,例如123456之类的。此时再重新设置root密码。
注意:在企业或生产上,请不要修改这些配置,一定要设置复杂的数据库密码,以免造成不必要的损失。
但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
[root@localhost ~]# systemctl enable mysqld.service
此时MySQL安装就完成了。
[root@localhost ~]# systemctl stop firewalld.service[root@localhost ~]# systemctl disable firewalld.service
注意:企业中一般是放行端口,不要关闭防火墙,可以自行了解防火墙放行端口相关知识。
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
mysql -u root -pmysql>use mysql;mysql>select host,user from user;mysql>update user set host = '%' where user ='root';mysql>flush privileges;mysql>select host,user from user;
注意:在企业中使用是放开指定 IP,不要设置成 %,如果放开外网会有被爆破的风险。
此时可以用数据库连接工具连接了