配置YUM源
MySQL官网:http://dev.mysql.com/downloads/repo/yum/
mysql安装包下载:
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源:
yum install mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功:
yum repolist enabled | grep "mysql"
出现下图所示即安装成功:
安装MySQL
yum install mysql-community-server
启动MySQL服务
systemctl start mysqld
或者
service start mysqld
查看MySQL的启动状态
systemctl status mysqld
出现下图所示,则成功:
开机启动
systemctl enable mysqld
systemctl daemon-reload
修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log
文件中给root生成了一个默认密码
查看默认密码
grep 'temporary password' /var/log/mysqld.log
下图红框中即为默认密码:
用默认密码登录mysql
mysql -u root -p
根据提示输入上面的默认密码,进入mysql
修改root登录密码
ALTER USER 'root'@'localhost' INDENTIFIED BY 'password';
或者
set password for 'root'@'localhost'=password('password');
注意:mysql5.7默认安装了密码安全检查插件,要求密码必须包含:大小写字母、数字和特殊字符,并且长度不少于8位,否则会提示ERROR。
添加远程登录用户
grant all on *.* to weibospider@'%' identified by 'password';
这里*.*
表示所有权限,创建了一个用户名为weibospider,密码为password的用户,该用户被赋予所有权限
在MySQL命令行中用以下命令刷新一下:
flush privileges
最后重启mysql服务使之生效:
systemctl restart mysqld
默认编码改为utf8
修改/etc/my.cnf配置文件如下:
然后和上面一样重启mysql服务使之生效
修改mysql端口
mysql默认端口为3306
现需将mysql端口改为3000
查看3000端口是否被占用
netstat -anp | grep 3000
没有被占用则进行下一步,否则需kill掉占用3000端口的服务,或者换其他端口号
修改配置文件
重启服务使之生效
此时重启出现错误,查看错误日志:
cat /var/log/mysqld.log | grep ERROR
错误如下:
解决方案:
1.防火墙问题
vi /etc/sysconfig/iptables
添加如下行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
2.SELinux问题
方法一:不需要重启Linux:
setenforce 0
方法二:需要重启Linux
vi /etc/selinux/config
修改如下内容:
SELINUX=disabled
最后重启MySQL服务即可
此时可在MySQL命令行中查看端口信息:
show variables like 'port';
mysql远程访问配置
修改配置文件
vi /etc/my.cnf
修改
bind-address = 127.0.0.1
为
bind-address = 0.0.0.0
这样的话,mysql才能监听远程的请求
然后,重启mysql服务于使之生效
关闭防火墙
这一步非常重要
刚开始我用
service stop iptables
远程还是无法访问
最后,找到一种方法:
systemctl stop firewalld
终于可以被远程访问到啦