centos7通过rpm-bundle方式安装mysql5.7.35

准备材料:mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

1.先卸载系统自带的mariadb

查找命令:

rpm -qa | grep -i mariadb

然后根据查找出的列表分别进行卸载,命令为:

rpm -e --nodeps ******

2.解压bundle.tar

注意先要建立一个文件夹再解压:(mkdir ./mysql)

tar xvf  mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C ./mysql

3.安装mysql

解压后,按如下顺序进行安装:

rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-compat-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm

注意:单纯安装mysql,devel组件可不安装,但是如果涉及使用python-devel组件及python访问mysql的相关组件,则需要安装:mysql-community-devel-5.7.35-1.el7.x86_64.rpm,否则会报错:

Error: Package: 1:mariadb-devel-5.5.68-1.el7.x86_64 (os)
           Requires: mariadb-libs(x86-64) = 1:5.5.68-1.el7

实质就是缺少mysql-community-devel组件,导致有关python访问mysql的各种组件安装失败。

本次安装到server时,报错(如不报错,请跳过):

error: Failed dependencies:
    libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.35-1.el7.x86_64
    libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.35-1.el7.x86_64
    libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.35-1.el7.x86_64

则通过如下命令安装依赖项:libnuma

yum install numactl
复制代码
这是 mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题。

密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决办法:

1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看,

2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,

3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6; ” 进行设值,

4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密码策略修改成功了!!!

注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,
只要设置密码的长度小于 3 ,都将自动设值为 4 ,

关于 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;

关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
复制代码

vi /etc/my.cnf

复制代码
[mysqld]
default-storage-engine=InnoDB
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
lower-case-table-names=1
max-connections=10000
sql-mode=STRICT_ALL_TABLES
max-allowed-packet=32M
explicit-defaults-for-timestamp=TRUE
bind-address=0.0.0.0
event-scheduler=ON
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation=READ-COMMITTED
symbolic-links=0
key_buffer_size = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
expire-logs-days = 10
max_binlog_size = 100M
log_bin=/var/lib/mysql/mysql_binary_log
server-id=1
binlog_format = MIXED
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
View Code
复制代码

 启动MySQL命令: service mysql start


关闭MySQL命令:service mysql stop

重启MySQL命令:server mysql restart

查看MySQL状态: service mysqld status

查看MySQL 端口:show global variables like 'port';

 

https://www.cnblogs.com/jizhong/p/15271521.html

 

posted @   Bonnie_ξ  阅读(285)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2021-06-09 自定义异常
2021-06-09 20条非常实用的Python代码实例
点击右上角即可分享
微信分享提示