centos7.6 yum 安装mysql

目录

1 mysql安装

1.1  删 mariadb / 自带MySQL

1.2 安装wget命名

1.3  下载并安装MySQL官方的 Yum Repository

1.4 使用yum安装mysql

2 mysql 配置

2.1 启动

2.2 获取密码 

2.3 没获取到密码->修改mysql的配置文件 --> 跳过权限

​编辑

2.4 登录 -> 不输入密码按回车登录

2.5 修改mysql的配置文件 --> 恢复权限

2.6 设置远程连接

2.7 服务器 防火墙 或 安全组 开通指定端口

2.8 服务器安装防火墙并开通指定端口

3 查看日志

3.1 正确log

3.2 错误log --> 不影响

4 设置慢查询日志

4.1 查看参数 >mysql 中

4.2  mysqld (区别mysql) 配置文件修改参数 

4.3 查看日志

5 参考

5.1 mysql安装

5.2 没有初始密码 配置

5.3数据权限

ps 未记录错误

1 安装完mysql 直接无密码进入 -> set 密码后 处于无权限状态 各种报错

2 解决办法 删MySQL再重装 / 重置系统


1 mysql安装

1.1  删 mariadb / 自带MySQL

--> 1 查看
rpm -qa | grep mariadb 
yum list installed | grep mysql

--> 删 rpm -e --nodeps 查出来的名字 -->如下
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
yum -y remove mysql-libs.x86_64

1.2 安装wget命名

yum install wget -y 

1.3  下载并安装MySQL官方的 Yum Repository

wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
 
yum install mysql-community-release-el6-5.noarch.rpm -y

1.4 使用yum安装mysql

yum install mysql-community-server -y

2 mysql 配置

2.1 启动

service mysqld start

chkconfig mysqld on --> 开机启动

service mysqld status --> 查看状态
service mysqld restart --> 重启

2.2 获取密码 

grep "password" /var/log/mysqld.log

2.3 没获取到密码->修改mysql的配置文件 --> 跳过权限

vim /etc/my.cnf

--> 在文件末尾加上
skip-grant-tables

--> 重启
service mysqld restart

2.4 登录 -> 不输入密码按回车登录

mysql -uroot -p

-> 进入修改密码

update mysql.user set password=password('root') where user='root';

2.5 修改mysql的配置文件 --> 恢复权限

vim /etc/my.cnf

--> 在文件末尾删掉
skip-grant-tables

--> 重启
service mysqld restart 
systemctl restart mysqld.service // 区别与mysqlsystemctl restart mysql

2.6 设置远程连接

2.6.1 修改配置文件

cd /etc/msyql
vim my.cnf

文件末尾添加

port = 3306
bind-address = 0:0:0:0

# 如果是生产服务器,要谨慎允许来自任何IP(0.0.0.0)的连接。如果可能的话,应该限制它只能接受特定IP地址的连接。

2.6.2 sql 命令

select host,user,plugin,authentication_string from mysql.user; -->查看账户

grant ALL on *.* to `root`@`%` identified by 'root' with grant option;--> 授权全部ip可访问

set password for root@'%' =password('root'); --> 不确定是没刷新还是 必须要重置密码 不然连不上

flush privileges; --> 刷新

为什么要set password for root@'%' =password('root');

如果
select host,user,plugin,authentication_string from mysql.user;

结果是
+-----------+------+-------------+-----------------------+
| host      | user | plugin      | authentication_string |
+-----------+------+-------------+-----------------------+
| localhost | root | unix_socket |                       |
| %         | gpt  |             |                       |
+-----------+------+-------------+-----------------------+

根据你提供的MySQL用户表中的信息,看起来有一个名为"gpt"的用户,它被允许从任何主机(host字段为 "%")连接到MariaDB数据库。然而,这个用户的"plugin"字段是空的,这意味着它可能不能使用标准的用户名和密码进行远程连接。

用户的"plugin"字段为"unix_socket"时,通常意味着该用户使用Unix套接字认证而不是密码认证。这种情况下,用户不需要密码,而是依赖于系统上的用户名来进行认证。这通常用于本地连接,而不是远程连接。

如果你希望"gpt"用户能够进行远程连接并使用用户名和密码进行认证,你需要修改该用户的"plugin"和"authentication_string"字段。你可以使用以下SQL命令来更改它:

ALTER USER 'gpt'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'your_password_here';
没有成功换成
set password for gpt@'%' =password('root');
MariaDB [mysql]> select host,user,plugin,authentication_string from mysql.user;
+-----------+------+-----------------------+-------------------------------------------+
| host      | user | plugin                | authentication_string                     |
+-----------+------+-----------------------+-------------------------------------------+
| localhost | root | unix_socket           |                                           |
| %         | gpt  | mysql_native_password | *08F91414216A75 |
+-----------+------+-----------------------+-------------------------------------------+
根据你提供的MySQL用户信息,对于用户"gpt"来说,它具有从任何主机(host字段为"%")远程访问MySQL的权限。这是因为host字段的值为"%"表示该用户可以从任何主机连接到MySQL服务器,而不仅仅是localhost(即本地主机)。

但是需要注意的是,虽然用户"gpt"具有远程访问的权限,但其认证插件(authentication plugin)是"mysql_native_password",这通常需要用户名和密码来进行身份验证。你的输出中并没有显示"gpt"用户的密码哈希值,因此在实际使用中,你需要为"gpt"用户设置一个密码,以便可以使用用户名和密码来连接到MySQL服务器。

如果你希望进一步限制"gpt"用户的权限或者添加更多的安全性,可以考虑限制它的访问主机,只允许特定IP地址或IP地址范围的主机连接。
GRANT ALL ON msg  TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
这个SQL语句指定了对名为"msg"的数据库执行权限操作。具体来说,这个语句做了以下几件事情:

GRANT ALL:这部分表示授予所有权限,包括SELECT、INSERT、UPDATE、DELETE等数据库操作权限。

ON msg:这部分指定了权限应用在名为"msg"的数据库上。

TO 'root'@'%':这部分指定了权限被授予给用户名为'root',并且允许从任何主机('%'表示所有主机)连接到数据库的用户。

IDENTIFIED BY 'root':这部分设置了用户'root'的密码为'root'。

WITH GRANT OPTION:这部分允许用户'root'将他们被授予的权限再授予其他用户。

总之,这个SQL语句在数据库"msg"上授予了用户'root'几乎所有的权限,并且允许他们将这些权限传递给其他用户。但是请注意,GRANT权限是一个敏感操作,应该谨慎使用,确保只授予必要的权限给需要的用户。此外,为了安全考虑,密码应该更加复杂而不是像这个例子中设置为简单的'root'。

2.7 服务器 防火墙 或 安全组 开通指定端口

2.8 服务器安装防火墙并开通指定端口

yum install firewalld -y // 安装防火墙
systemctl start firewalld.service // 开启
systemctl enable firewalld.service // 开机自启
firewall-cmd --zone=public --add-port=3306/tcp --permanent // 打开指定端口
firewall-cmd --list-ports --permanent // 查看永久打开的端口
systemctl restart firewalld.service // 重启

3 查看日志

cd /var/log
vim mysqld.log

3.1 正确log

3.2 错误log --> 不影响

4 设置慢查询日志

4.1 查看参数 >mysql 中

show global status like 'slow_queries';   #显示慢查询次数

show variables like 'long_query_time' ;   #显示慢查询时间;

show variables like 'slow_query_log' ;  #显示慢查询日志是否开启

4.2  mysqld (区别mysql) 配置文件修改参数 

vim /etc/my.cnf
--> 加入

[mysqld]  // 不是在 [mysqld_safe] 下 不要写错位置

log-slow-queries = /var/lib/mysql/slow-queries.log

slow_query_log = 1

long_query_time = 0.05

4.3 查看日志

cd /var/lib/mysql --> 找到日志文件夹
ll --> 竖向列表 查看 文件夹内容
f1d4d1e68e1a-slow.log  --> 系统自动生成的慢查询日志名
tail -f f1d4d1e68e1a-slow.log --> 启动实时查看日志 有变动就会显示

5 参考

5.1 mysql安装

https://www.cnblogs.com/CNRF/p/14862890.htmlicon-default.png?t=N7T8https://www.cnblogs.com/CNRF/p/14862890.html

5.2 没有初始密码 配置

Contos7中Mysql忘记密码或者初始登录时密码错误解决方法_centos7 mysql初始化没有密码_山乀的博客-CSDN博客Contos7中Mysql忘记密码或者初始登录时密码错误解决方法https://blog.csdn.net/weixin_45942827/article/details/128045571

5.3数据权限

mysql grant 用户权限总结_grant usage on_wulantian的博客-CSDN博客Mysql 有多个个权限?经常记不住,今天总结一下,看后都能牢牢的记在心里啦!!https://blog.csdn.net/wulantian/article/details/38230635?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4-38230635-blog-113428425.235%5Ev32%5Epc_relevant_increate_t0_download_v2_base&spm=1001.2101.3001.4242.3&utm_relevant_index=7

ps 未记录错误

1 安装完mysql 直接无密码进入 -> set 密码后 处于无权限状态 各种报错

2 解决办法 删MySQL再重装 / 重置系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值