CentOS 7上安装MySQL并配置环境

  • Post author:
  • Post category:mysql



一、首先安装YUM Repo


1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。


我这里安装mysql的版本是 5.7.42

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm


注意:如果wget没有安装,先执行如下命令进行wget安装

yum -y install wget


2、然后进行repo的安装

rpm -ivh mysql57-community-release-el7-9.noarch.rpm


执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件


mysql-community.repo 和 mysql-community-source.repo


二、使用yum命令即可完成安装


2.1 注意:必须进入到 /etc/yum.repos.d/目录后再执行以下脚本

cd /etc/yum.repos.d/


2.2 安装命令

yum install mysql-server


注意如果报错:mysql-community-libs-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装

失败的软件包是:mysql-community-libs-5.7.37-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql。


解决方案:


1.换源:阿里源

wget http://mirrors.aliyun.com/repo/Centos-7.repo


2.Centos7安装Mysql5.7 提示GPG 密钥不存在/不合适

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 


2.3 修改配置跳过校验,修改/etc/yum.repos.d/mysql-community.repo文件内容

修改对应安装版本的

gpgcheck默认值为1,gpgcheck=0即可。

vim /etc/yum.repos.d/mysql-community.repo




2.4 启动msyql

systemctl start mysqld 


2.5 获取安装时的临时密码(在第一次登录时就是用这个密码):

grep 'temporary password' /var/log/mysqld.log




注意 root@localhost:后就是临时密码,全部复制。


如果没有临时密码,解决方案


1.删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)

rm -rf /var/lib/mysql


2.重启mysqld服务

systemctl restart mysqld


3.再去找临时密码

grep 'temporary password' /var/log/mysqld.log


该解决方案适用于mysql5.7以上版本


三、登录并进行配置


3.1 登录命令,然后输入密码(刚刚获取的临时密码)

mysql -u root -p


3.2 先设置一个复杂的密码,然后修改密码设置策略。设置复杂密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'aA@123456'


3.3 查看 mysql 初始的密码策略:

mysql> SHOW VARIABLES LIKE'validate_password%';


3.4 首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW

set global validate_password_policy=LOW;


3.5 当前密码长度为8,修改密码长度为6位的密码

set global validate_password_length=6;


3.6 然后就可以设置简单的密码了

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';


3.7 可以验证密码释放修改成功,输入命令退出后,在进行登录进行测试

quit 或者 exit


3.8 修改用户权限让数据库可以远程连接

-- 使用mysql数据库
use mysql;

-- 查询user表中的Host和User字段
select Host, User from user;

-- 将root用户的Host字段修改为%,表示该用户可以从任意IP地址登录
update user set host ='%' where user='root';

-- 使修改后的配置生效
flush privileges;

-- 退出MySQL
quit;


3.9 配置mysql

vi /etc/my.cnf


添加到配置文件中

-- 设置MySQL的字符集为utf8
character-set-server=utf8

-- 设置表名大小写敏感
lower_case_table_names=0

-- 开启Slow Query日志,记录超过10秒的SQL查询语句
slow_query_log=1

-- 将long_query_time设置为10秒。这可以帮助我们找到那些消耗时间较长的SQL查询,并进行优化和调整。
long_query_time=10.000000



版权声明:本文为weixin_46759354原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。