在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
相关推荐
写代码的【黑咖啡】几秒前
Python 中的 sqlite3 模块:轻量级数据库的完美搭档
数据库·python·sqlite
Logan Lie几秒前
Go语言接口(interface)深度详解
开发语言·数据库·golang
短剑重铸之日4 分钟前
《7天学会Redis》Day 7 - Redisson 全览
java·数据库·redis·后端·缓存·redission
Access开发易登软件5 分钟前
Access自动生成PPT报告完全指南
数据库·powerpoint·vba·vb·access·access开发
0和1的舞者7 分钟前
《#{} vs ${}:MyBatis 里这俩符号,藏着性能与安全的 “生死局”》
java·数据库·学习·mybatis·intellij idea·mybatis操作
地球资源数据云16 分钟前
1960年-2024年中国农村居民消费价格指数数据集
大数据·数据库·人工智能·算法·数据集
石像鬼₧魂石16 分钟前
补充章节:WPScan 实战后的 “打扫战场 + 溯源” 流程
数据库·学习·mysql
程序媛Dev1 小时前
用这个开源AI,实现了与数据库的“自然语言对话”
数据库·人工智能
v***59832 小时前
redis 使用
数据库·redis·缓存
nbsaas-boot9 小时前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库