本文参考CentOS安装MySQL详解侵删
上周我的数据库被攻击了,数据全部被删除了,留下了一地址,问我要0.06个比特币,主要里面没有什么数据,反思了一下为什么被攻击,3306端口,root 123456密码,这不被攻击是在侮辱黑客智商,
于是把整个系统全部重装了一下
- 检查是否已安装
rpm -qa|grep mariadb
卸载rpm -e --nodeps xxx
rpm -qa|grep mysql
卸载rpm -e --nodeps xxx
- 安装
-
安装wget
yum install wget wget -y
-
下载mysql源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
-
安装数据源
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
-
验证是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
-
选择mysql版本
vim /etc/yum.repos.d/mysql-community.repo
将8.0版本enable改为0,5.7版本,enable改为1 -
安装
yum install mysql-community-server -y
-
设置编码端口号
vim /etc/my.cnf
character_set_server=utf8 换行 init-connect='SET NAMES utf8 换行 port=2987(此处随意只要合理并没被使用)'
-
启动并设置自启
systemctl start mysqld
systemctl enable mysqld
- 有可能启动错误
grep 'ERRO' /var/log/mysqld.log
- 如果是
Can't start server: Bind on TCP/IP port: Permission denied
vi /etc/selinux/config
SELINUX=disabled
重启服务器
- 有可能启动错误
-
查看临时密码
grep 'temporary password' /var/log/mysqld.log
-
登陆
mysql -u root -p
回车,输入密码 -
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '9&x@RtMj';
密码建议在线随机生成复杂点- 简单密码修改
set global validate_password_policy=0;``set global validate_password_length=4;
再次执行修改密码就可以设置123456
- 简单密码修改
-
允许root远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '9&x@RtMj' WITH GRANT OPTION;
-
开放端口 退出mysql执行
firewall-cmd --zone=public --add-port=3506/tcp --permanent``firewall-cmd --reload
-