1. 下载: wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
2. 安装:
(1) yum -y install mysql57-community-release-el7-10.noarch.rpm
(2) 安装 server: yum -y install mysql-community-server
如果之前有安装 自带的 mariadb 并且启动了,需要先执行 systemctl stop mariadb,停止
3. 启动: systemctl start mysqld.service
4. 查看初始密码: grep "password" /var/log/mysqld.log
如果没有,可能是原来的没有卸载干净,执行
rm -rf /var/lib/mysql
重启mysql
systemctl restart mysqld.service
执行
grep "password" /var/log/mysqld.log
5. 用初始密码登录: mysql -uroot -p
6. 修改密码: ALTER USER 'root'@'localhost' IDENTIFIED BY 'Kevin129!'; 如果新密码过于简单,会有提示,设置复杂一点就好了
7. 修改远程访问权限:
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Kevin129!' WITH GRANT OPTION; (末尾记得带上英文状态下的分号)
8. 刷新权限: flush privileges; (末尾记得带上英文状态下的分号)
9. 设置开机自启:
(1) vi /etc/rc.local
(2)在末尾添加:service mysqld start
如果 7、8 不做,使用 Navicat 等可视化工具远程连接时会报 1045 (禁止远程连接)
【补充】网上说 centos7 不再支持mysql 了,所以即使安装成功了,也没有 mysql.service 这个服务了,导致使用 service mysqld start 命令启动 mysql 时报错:Failed to start mysql.service: Unit not found.
早上也确实遇到了
解决办法: 使用 service mysqld.service restart 命令启动
CentOS 7为什么放弃了MySQL,而改使用MariaDB?
如果遇到 too many connection errors 后,重启了数据库,但还是 报 message from server: "Host 'ip' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'" 时,使用 mysql -u用户名 -P 端口 -p 密码 登录一下数据库,然后执行 flush hosts; 即可
原因:同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;
参考:https://www.cnblogs.com/susuyu/archive/2013/05/28/3104249.html