在CentOS7系统中安装MySQL5.7

第一步:下载MySQL包
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
第四步:启动MySQL
shell 复制代码
> systemctl start mysqld.service
第五步:检查MySQL是否启动成功
shell 复制代码
> systemctl status mysqld.service
第六步:获取临时密码,MySQL5.7为root用户随机生成了一个临时密码
shell 复制代码
> grep 'temporary paaaword' /var/log/mysqld.log
第七步:通过临时密码登录MySQL
shell 复制代码
> mysql -uroot -p

使用临时密码登录后只能进行修改密码操作,不能进行其他操作。
如果使用临时密码无法登录,可以通过修改MySQL配置文件的方式,先改成无密码登录

  • 首先停止MySQL服务进程
shell 复制代码
> service mysqld stop
  • 编辑MySQL的配置文件my.cnf
shell 复制代码
> vim /etc/my.cnf
  • [mysqld]模块中添加一行内容,忽略MySQL权限问题,直接登录
shell 复制代码
> skip-grant-tables
  • 启动MySQL服务
shell 复制代码
> systemctl start mysqld
  • 无密码直接登录数据库
shell 复制代码
> mysql -uroot -p

回车后仍然提示要输入登录密码,直接再次点击回车即可登录成功

第八步:修改MySQL的密码规则
shell 复制代码
mysql> set global validate_password_policy=0
mysql> set blobal validate_password_length=1
mysql> alter user 'root'@'localhost' identified by 'password'
第九步:授权其他机器远程登录
shell 复制代码
> grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option
> flush privileges
第十步:设置MySQL开机自启动
shell 复制代码
> systemctl enable mysqld
> systemctl daemon-reload
第十一步:设置MySQL的字符集为UTF-8
shell 复制代码
> vim /etc/my.cnf
json 复制代码
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
 
[mysql]
default-character-set=utf8
 
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-storage-engine=INNODB
character_set_server=utf8
 
symbolic-links=0
 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names=1

# Ignore MySQL permission issues and login directly
skip-grant-tables
第十二步:取消MySQL无密码登录
shell 复制代码
> vim /etc/my.cnf

编辑my.cnf文件,删除skip-grant-tables

第十三步:重启MySQL令配置生效
shell 复制代码
> service mysqld restart
第十四步:防火墙开放3306端口
shell 复制代码
> firewall-cmd --state
> firewall-cmd --zone=public --add-port=3306/tcp --permanent
> firewall-cmd --reload
相关推荐
DemonAvenger4 分钟前
MySQL内存优化:缓冲池与查询缓存调优实战指南
数据库·mysql·性能优化
RationalDysaniaer9 分钟前
了解etcd
数据库·etcd
正在走向自律21 分钟前
国产时序数据库选型指南-从大数据视角看透的价值
大数据·数据库·清华大学·时序数据库·iotdb·国产数据库
Pocker_Spades_A23 分钟前
Python快速入门专业版(十五):数据类型实战:用户信息录入程序(整合变量、输入与类型转换)
数据库·python
禁默36 分钟前
已知 inode 号,如何操作文件?Ext 文件系统增删查改底层逻辑拆解
linux·服务器·数据库
云飞云共享云桌面44 分钟前
工厂办公环境如何实现一台服务器多人共享办公
运维·服务器·网络·数据库·3d
weixin_456904271 小时前
MySQL高级特性详解
数据库·mysql
Elastic 中国社区官方博客1 小时前
使用 cloud-native Elasticsearch 与 ECK 运行
大数据·数据库·elasticsearch·搜索引擎·kubernetes·k8s·全文检索
Mr_hwt_1231 小时前
基于MyCat 中间件实现mysql集群读写分离与从库负载均衡教程(详细案例教程)
数据库·mysql·中间件·mysql集群
酷ku的森2 小时前
Redis中的Zset数据类型
数据库·redis·缓存