目录
Centos7本地部署MySQL. 1
一、环境准备.... 3
二、安装步骤.... 3
2.1、下载MySQL源.... 3
2.2、安装MySQL源.... 3
2.3、检查MySQL源是否安装成功.... 4
2.4、安装MySQL 数据库.... 4
2.5、 查看是否安装成功.... 5
2.6、启动MySQL并检查MySQL运行状态.... 6
2.7,获取首次默认登陆密码.... 6
2.8、授予远程访问权限.... 6
2.9,验证远程连接.... 7
四,Mysql忘记密码,修改密码.... 8
# 安装之前检测系统是否有自带的MySQL
rpm方式安装,版本5.7
# 由于centOS7中默认安装了MariaDB,需要先进行卸载
rpm -qa | grep mysql #检查是否安装过MySQL
rpm -qa | grep mariadb #检查是否存在 mariadb 数据库(内置的MySQL数据库),有则强制删除
rpm -e --nodeps mariadb-server-5.5.60-1.el7_5.x86_64 #强制删除
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 #强制删除
curl -O https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
出现以下信息表示安装成功了
列出可安装的软件包
yum list mysql-community-server
yum -y install mysql-community-server.x86_64
在安装server时返回公钥未安装
原因是Mysql的GPG升级了,需要重新获取
解决方法:
执行以下命令加载公共密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
然后再次安装
yum -y install mysql-community-server
yum list installed mysql-*
systemctl start mysqld
systemctl status mysqld
grep 'temporary password' /var/log/mysqld.log
以首次获取的默认密码登录MySQL
MySQL –uroot –p
首次部署的mysql在使用之前须先修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
# 新密码必须8位包含大小写字母以及特殊字符
# 授予root用户远程访问权限,并刷新权限使生效
grant all privileges on *.* to 'root' @'%' identified by ' new password ';
第一个*是数据库,可以改成允许访问的数据库名称
第二个 是数据库的表名称,代表允许访问任意的表
root代表远程登录使用的用户名,可以自定义
%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
password代表远程登录时使用的密码,可以自定义
让权限立即生效:flush privileges
使用navicat远程连接该数据库
# 查看MySQL安装情况:
rpm -qa | grep mysql
rpm –e --nodeps
# 查找所有MySQL目录:find / -name mysql
# 修改密码。
切换到存储用户名和密码的数据库
use mysql;
update user set password=password(‘新密码’) where user=’需设置新密码的用户’;
# 在5.7版本的mysql中修改密码遇到如下报错
错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
修改密码时需将password改成authentication_string
即:update user set authentication_string=password(‘新密码’) where user=’用户’;
# 授予root用户远程访问权限
grant all privileges on *.* to 'root' @'%' identified by ' password ';
刷新用户权限列表:flush privileges
# 当centos MySQL用户忘记密码,进不去MySQL,需修改密码
# 编辑数据库配置文件
# 在my.cnf配置文件中添加以下指令
vim /etc/my.cnf
skip-grant-tables
# skip-grant-tables的意思就是设置空密码登录
# 保存以上配置并重启mysql服务,是配置生效
输入mysql回车进入改数据库
#改密码首先要进入默认库 use mysql;
UPDATE user SET Password= Password ('密码') WHERE user='root';
# root用户设置新密码
flush privileges; #刷新MySQL的系统权限相关表,否则会出现拒绝访问
# 最后退出MySQL删除my.cnf配置文件中的“skip-grant-tables“
# 重启以下mysql服务
根据版本不同,如果执行上述语句报错,Unkown column “password”in “field list”,原因是新的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,此时需要将上述语句改为如下所示 :
update mysql.user set authentication_string=password('123456') where user='root'and host='localhost';
密码改成功后,需将skip-grant-tables给删除掉。
vim /etc/my.cnf 进行删除
重启mysql服务
service mysqld restart