CentOS7 安装 Mysql 5.7:密码查看与修改、更改端口、开机启动

文章目录

下载 MySQL yum包

shell 复制代码
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

安装MySQL源

shell 复制代码
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

安装MySQL服务端,需要等待一些时间

shell 复制代码
yum install -y mysql-community-server

如果提示:

The GPG keys listed for the "MySQL 5.7 Community Server" repository

are already installed but they are not correct for this package. Check

that the correct key URLs are configured for this repository.

Failing package is: mysql-community-libs-compat-5.7.37-1.el7.x86_64

GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

原因是Mysql的GPG升级了,需要重新获取,使用以下命令即可

shell 复制代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

启动MySQL

shell 复制代码
systemctl start mysqld.service

检查是否启动成功:

bash 复制代码
systemctl status mysqld.service

修改密码

方式一:临时密码

获取临时密码,MySQL5.7为root用户随机生成了一个密码

bash 复制代码
grep 'temporary password' /var/log/mysqld.log 

通过临时密码登录MySQL,进行修改密码操作

使用临时密码登录后,不能进行其他的操作,否则会报错,这时候我们进行修改密码操作

bash 复制代码
mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';

方式二:skip-grant-tables=1

修改/etc/my.cnf,在 mysqld 小节下添加一行

skip-grant-tables=1

这一行配置让 mysqld 启动时不对密码进行验证

重启mysqld 服务

bash 复制代码
systemctl restart mysqld

使用 root 用户登录到 mysql

bash 复制代码
mysql -uroot 

切换到mysql数据库,更新 user 表

bash 复制代码
use mysql
update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

删除 skip-grant-tables=1

退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1的内容

授权其他机器远程登录

sql 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
 
FLUSH PRIVILEGES;
shell 复制代码
vim /etc/my.cnf

开启开机自启动

bash 复制代码
systemctl enable mysqld
systemctl daemon-reload

更改默认端口

修改/etc/my.cnf,在 mysqld 小节下添加一行:

bash 复制代码
port=你想要的端口号

重启mysqld 服务:

bash 复制代码
systemctl restart mysqld

常见操作

bash 复制代码
查看mysql是否启动:service mysqld status

启动mysql:service mysqld start

停止mysql:service mysqld stop

重启mysql:service mysqld restart
相关推荐
Flynt2 小时前
"MySQL搜不动就上ES"?我先在50万行数据上测了它自带的ngram全文索引
mysql·elasticsearch·搜索引擎
imDwAaY3 小时前
Redo Log 和 Binlog 为什么需要两阶段提交?
后端·mysql
数据库小学妹3 小时前
MySQL深分页优化:LIMIT大偏移的根因分析与五种解法对比
数据库·mysql·性能优化
这个DBA有点耶3 小时前
从异步复制到MGR:MySQL复制机制的三层演进与选型框架
数据库·mysql·代码规范
小白男神3 小时前
MySQL进阶学习六(InnoDB存储引擎)
后端·mysql
小白男神3 小时前
MySQL进阶学习五(锁)
后端·mysql
devpotato3 小时前
把 MySQL 索引讲透:从 B+ 树结构到线上索引治理
java·mysql
小白男神6 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶6 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
kybs19916 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net