安装mysql数据库
a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
b)安装mysql源:yum localinstall mysql57-community-release-el7-8.noarch.rpm
若结尾出现complete!,则说明MySQL源安装完成
c)检测是否安装完成:yum repolist enabled | grep "mysql.*-community.*"
d)安装mysql:yum install mysql-community-server
若结尾出现Complete!, 则MySQL安装完成
e)设置开启启动mysql服务:systemctl enable mysqld
f)查看安装的mysql版本:rpm -aq | grep -i mysql
g)启动MySQL服务:systemctl restart mysqld
h)查看MySQL初始密码:grep 'A temporary password' /var/log/mysqld.log
i)更改MySQL密码:mysqladmin -u root -p'旧密码' password '新密码'
这里更改密码出了问题,更改失败,这是因为密码太过简单的原因。有两个接解决方法:
方法一:把密码设置复杂点(这是最直接的方法)
方法二:关闭mysql密码强度验证(validate_password)
编辑配置文件:vim /etc/my.cnf, 增加这么一行validate_password=off
编辑后重启mysql服务:systemctl restart mysqld
j)设置mysql能够远程访问:
配置防火墙
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
service iptables restart
OK,一切配置完毕,你可以访问你的MySQL了~
注意:
CentOS 7中默认使用Firewalld做防火墙,所以修改iptables后,在重启系统后,根本不管用。
Firewalld中添加端口方法如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
登录进MySQL:mysql -uroot -p密码
增加一个用户给予访问权限:grant all privileges on *.* to 'root'@'ip地址' identified by '密码' with grant option; //可将ip改为%%,表示开启所有的
刷新权限:flush privileges;
OK,我本地连接试下。