1、下载地址
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
2、检查是否有mysql的repo
cd /etc/yum.repos.d/
## 没有就安装
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
## 安装完了再看下
cd /etc/yum.repos.d/
3、centos7默认会有MariaDB,需要将原先的包清除掉
rpm -qa | grep mysql 过滤下mysql
有这两个就删除,顺序不能错
rpm -e akonadi- mysql- 1.9.2-4.el7.x86_64
rpm -e qt- mysql-4.8.7-3.el7_6.x86_64
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 # 上面查询出来的
4、安装mysql
yum -y install mysql-community-server
如果有报错 /var/run/yum.pid 已被锁定....
先把他删掉 rm -rf /var/run/yum.pid
!yum (ps: !表示搜寻之前的命令,往上去找以yum开头的命令) 等同于执行yum -y install mysql-community-server
systemctl start mysqld.service ## 启动mysql服务
systemctl stop mysqld.service ## 停止mysql服务
systemctl restart mysqld.service ## 重启mysql服务
systemctl status mysqld.service ## 查看mysql服务当前状态
systemctl enable mysqld.service ## 设置mysql服务开机自启动
systemctl disable mysqld.service ## 停止mysql服务开机自启动
如果不是使用yum安装,用chkconfig配制开机启动项目
## 将服务文件拷贝到/etc/init.d下,并重命名为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld ## 赋予mysql文件可执行权限
chkconfig --add mysqld ## 添加mysql服务
chkconfig --list ## 查看服务列表
## 看到mysql的服务3,4,5都是"开"则成功,否则执行以下命令
chkconfig --level 345 mysqld on
这个设置开机自启动还没试过:https://www.shuzhiduo.com/A/1O5EjM13d7/
5、查看mysql初始密码
cat /etc/my.cnf ## mysql日志文件
grep "temporary password" /var/log/mysqld.log ## 匹配查找初始密码
6、修改初始密码
mysql -u root -p
## 输入刚查到的初始密码
use mysql
## 5.x修改初始密码
ALTER USER USER() IDENTIFIED BY '你的密码'; ## 最后的分号一定不要忘
## 8.x修改初始密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码';
## 开启mysql远程访问
update user set host = '%' where user = 'root';
或者
update mysql.user set host = '%' where user = 'root';
7、刷新
flush privileges;
8、命令
service mysqld status # mysql运行状态
service mysqld start # mysql运行
service mysqld stop # mysql关闭
service mysqld restart # mysql重启
9、防火墙
centos7会默认开启防火墙,要在防火墙中打开对应的端口
firewall-cmd --state ## 查看防火墙状态
firewall-cmd --list-ports ## 查看已经开放的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent ## 开启3306端口
firewall-cmd --reload ## 重启防火墙 (重新开启端口后一定要重启防火墙,再查看开放的端口)