一. MySQL基础
- CentOS8 安装 MySQL
- 使用 MySQL 数据库时为什么永远不要 UTF-8 编码
- 事务并发带来的问题
- 事务的隔离级别
- MySQL 支持的数据类型
- 详解 Mysql 中日期比较大小的方法
- MySQL 索引实现原理
- 向数据库中插入千万级数据
- 数据库索引对高并发环境下查询时间的提升
- truncate 和 delete 语句的区别
- 什么是 MVCC 机制
- MySQL 用户及权限
- MySQL 查看数据库磁盘占用大小
- 如何定位慢 SQL
- 数据库的分库与分表思路
- 查看表的统计数据
- Explain 查看执行计划
- MySQL InnoDB Online DDL
- MySQL 逻辑架构
- MySQL 分区表详解
- MySQL 索引下推原理
- MySQL 为什么有时候会选错索引
- 查询一条 SQL 为啥也这么慢
- order by 是如何工作的
- InnoDB 锁类型
- 窗口函数
二. MySQL 高可用
三. MySQL是怎样运行的
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
CentOS8 安装 MySQL
安装MySQL8.0
使用最新的包管理器安装MySQL
sudo dnf install @mysql
开启启动
安装完成后,运行以下命令来启动MySQL服务并使它在启动时自动启动:
sudo systemctl enable --now mysqld
要检查MySQL服务器是否正在运行,请输入:
sudo systemctl status mysqld
添加密码及安全设置
运行mysql_secure_installation脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:
sudo mysql_secure_installation
步骤如下:
- 要求你配置VALIDATE PASSWORD component(验证密码组件): 输入y ,回车进入该配置
- 选择密码验证策略等级, 我这里选择0 (low),回车
- 输入新密码两次
- 确认是否继续使用提供的密码?输入y ,回车
- 移除匿名用户? 输入y ,回车
- 不允许root远程登陆? 我这里需要远程登陆,所以输入n ,回车
- 移除test数据库? 输入y ,回车
- 重新载入权限表? 输入y ,回车
配置远程登陆#
如果需要设置root账户远程登陆,上一步骤中,不允许root远程登陆?
这一步需要设为n。
接下来本机登录MySQL,将root用户的host字段设为'%',意为接受root所有IP地址的登录请求:
本机登录MySQL:
mysql -u root -p <上面步骤中设置的密码>
回车后即可登录,接下来终端变成了mysql>
开头:
接着继续执行mysql语句,将将root用户的host字段设为'%':
use mysql;
update user set host='%' where user='root';
flush privileges;
设置完成后输入exit退出mysql,回到终端shell界面,接着开启系统防火墙的3306端口:
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
关闭MySQL主机查询
MySQL会反向解析远程连接地址的dns记录,如果MySQL主机无法连接外网,则dns可能无法解析成功,导致第一次连接MySQL速度很慢,所以在配置中可以关闭该功能。 参考文档 打开/etc/my.cnf
文件,添加以下配置:
[mysqld]
skip-name-resolve
重启服务
sudo systemctl restart mysqld
本机测试安装后,MySQL8.0默认已经是utf8mb4字符集,所以字符集不再修改
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论