手把手教你安装MySQL

在日常开发学习中不可或少的需要用到MySQL,本文手把手教你如何在Centos7下使用RPM管理包安装MySQL,闲话少叙,直接开始!

文中MySQL版本为5.7.32

安装服务端

  1. 下载mysql server端的 rpm 文件
    下载地址:https://downloads.mysql.com/archives/community/
    选择版本:mysql-community-server-5.7.32-1.el7.x86_64.rpm

  2. 上传至服务器 /app/soft

  3. 安装mysql所需要的组件
    yum install libaio (可选)

  4. 安装mysql Server
    rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm --nodeps --force
    如果不加--nodeps --force 则提示需要安装客户端依赖等错误

warning: mysql-community-server-5.7.32-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
 mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.32-1.el7.x86_64
 mysql-community-common(x86-64) = 5.7.32-1.el7 is needed by mysql-community-server-5.7.32-1.el7.x86_64
  1. 查看是否安装

[root@review-dev soft]# rpm -qa | grep mysql
mysql-community-server-5.7.32-1.el7.x86_64
  1. 启动mysql并查看状态

[root@review-dev soft]# systemctl start  mysqld.service  -- 启动
[root@review-dev soft]# systemctl status mysqld.service  -- 查看状态
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-01-18 11:32:17 CST; 15s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 7054 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 6825 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 7057 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─7057 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

通过上面我们就安装好了MySQL的Server端,这时候是无法使用MySQL命令登录的,还需要安装一个Client端才行!

安装客户端

  1. 下载mysql client端的 rpm 文件
    下载地址:https://downloads.mysql.com/archives/community/
    选择版本:mysql-community-client-5.7.32-1.el7.x86_64.rpm

  2. 上传至服务器 /app/soft

  3. 安装客户端
    rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm --nodeps --force
    同理,这里如果不加--nodeps --force 指令还是会出现如下所示的错误

[root@review-dev soft]# rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm 
warning: mysql-community-client-5.7.32-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
 mysql-community-libs(x86-64) >= 5.7.9 is needed by mysql-community-client-5.7.32-1.el7.x86_64

安装完Server和Client端后,还需要修改一些默认配置。

配置

  1. 获取原始密码

grep "password" /var/log/mysqld.log
2021-01-18T03:32:13.444809Z 1 [Note] A temporary password is generated for root@localhost: r8G>.aGR,GaA
  1. 使用原始密码登录mysql服务器
    mysql -uroot -p输入上面获取到的密码回车登录

  2. 修改密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password'
    其中 ‘new password’ 替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功。

    3.1 修改密码安全策略 如果出现如下错误则说明新密码不符合密码策略
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    可通过命令 SHOW VARIABLES LIKE 'validate_password%';查看安全策略

    可通过命令修改对应的安全策略,如将密码等级设置成LOW:set global validate_password_policy=LOW; 如将密码长度设置成8 set global validate_password_length=6;
mysql 密码策略相关参数:

1)validate_password_length  固定密码的总长度;
2)validate_password_dictionary_file 指定密码验证的文件路径;
3)validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
4)validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

关于 validate_password_policy 的取值:
LOW:只验证长度;
MEDIUM:验证长度、数字、大小写、特殊字符;
STRONG:验证长度、数字、大小写、特殊字符、字典文件;

  1. 新增远程登录用户

create user 'xxxxxx'@'%' identified by 'password';
GRANT ALL PRIVILEGES ON *.* TO 'xxxxxx'@'%' identified by password';
flush privileges;
  1. 修改mysql默认语言为utf8mb4
    默认情况下MySQL使用的语言是latinl,可在登录mysql服务的情况下使用status指令查看,需要将其修改成主流的utf8mb4先退出mysql,然后再到/etc目录下的my.cnf文件下新增以下内容(见红框)

    vi /etc/my.cnf修改完成后重启mysql  
    systemctl restart mysqld.service

    重新登录mysql,再次查看状态:

通过上面几步,我们已经可以使用MySQL进行开发测试了,但是此时的MySQL并不能直接用于生产,我们还得修改MySQL服务器的配置参数,提升其性能与吞吐率。

具体参数可参照下面文章进行优化配置:
http://javadaily.cn/articles/2019/11/18/1574040329451.html

以上,希望对你有所帮助!

End

干货分享

这里为大家准备了一份小小的礼物,关注公众号,输入如下代码,即可获得百度网盘地址,无套路领取!

001:《程序员必读书籍》
002:《从无到有搭建中小型互联网公司后台服务架构与运维架构》
003:《互联网企业高并发解决方案》
004:《互联网架构教学视频》
006:《SpringBoot实现点餐系统》
007:《SpringSecurity实战视频》
008:《Hadoop实战教学视频》
009:《腾讯2019Techo开发者大会PPT》

010: 微信交流群

近期热文top

1、关于JWT Token 自动续期的解决方案

2、SpringBoot开发秘籍-事件异步处理

3、架构师之路-服务器硬件扫盲

4、基于Prometheus和Grafana的监控平台 - 环境搭建

5、RocketMQ进阶 - 事务消息

我就知道你“在看”

猜你喜欢

转载自blog.csdn.net/jianzhang11/article/details/112914528