前言
本文主要介绍在Linux环境下安装MySQL的过程。
1: 下载MySQL5.7的rpm安装包
选择合适的版本,这里我们使用的是MySQL5.7.20;下载完成后发送到自己的CentOS7服务器里,这里 可以通过Xftp上传
1.在根目录下创建一个mysqlpackage目录mkdir mysqlpackage将需要的放入
2. :卸载已安装的MySQL(没安装过则跳过)注:卸载之前请关闭mysql服务,命令:
systemctl stop mysqld
按照顺序卸载:
rpm -e --nodeps mysql-community-server
rpm -e --nodeps mysql-community-client
rpm -e --nodeps mysql-community-libs
rpm -e --nodeps mysql-community-common
卸载完基本的环境后,我们要清理依赖的文件(数据库配置文件及数据库数据文件)
-- 删除数据库配置文件(一般情况下卸载了mysql这个文件也会被自动删除)
rm -rf /etc/my.cnf
-- 删除数据库数据文件(包含系统数据库表和自定义数据库表),但是如果陌生服务器,此步骤谨 慎!!!!!!
rm -rf /var/lib/mysql
-- 删除日志临时文件(比如安装后产生密码的文件,不删除会发现安装后查询2个初始密码,但以下面的为 主)
rm -rf /var/log/mysqld.log
3:MySQL安装环境准备
卸载mariadb:检查是否安装了mariadb(CentOS7默认安装),如存在则卸载mariadb;如果你 是CentOS6,则默认是MySQL,那么你就卸载MySQL即可。
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 –nodeps
安装所需依赖:一般都是最新版了,以防万一后面安装出错,缺少依赖。
yum install libaio –y
yum install net-tools –y
4:安装我们上传的四个MySQL包并启动
安装时必须严格遵守安装顺序 依赖关系依次为 common → libs → client → server
ivh中, i-install安装;v-verbose进度条;h-hash哈希校验
安装后查询安装的MySQL版本 mysqladmin –version
# 查询MySQL在系统的状态
[root@VM-8-15-centos ~]# systemctl status mysqld
# 启动MySQL数据库
[root@VM-8-15-centos ~]# systemctl start mysqld
# 关闭MySQL数据库
[root@VM-8-15-centos ~]# systemctl stop mysqld
# 重启MySQL数据库
[root@VM-8-15-centos ~]# systemctl restart mysqld
# 查看MySQL进程
[root@VM-8-15-centos ~]# ps -ef | grep mysql
示例:先检查是否running,如果没有运行则开启
5:登录安装的MySQL5.7
1)查看(默认)密码:grep 'temporary password' /var/log/mysqld.log
2)登入mysql,输入密码时不显示,慎重
3)更改密码:初始化密码只是提供给你登录到内部,而我们进入到内部必须修改密码,否则无法对数 据库操作,就如下图我们无法操作(密码为8位并且包含特殊字符、大小写字母、数字)
ALTER USER ‘root’@'localhost' IDENTIFIED BY’新的密码’;
show variables like 'validate_password%';
validate_password_check_user_name OFF 是否验证用户名
validate_password_dictionary_file 密码策略文件,策略为STRONG才需要 validate_password_length 8 密码长度
validate_password_mixed_case_count 1 大小写字符长度,至少一个 validate_password_number_count 1 数字至少一个
validate_password_policy LOW 密码策略
validate_password_special_char_count 1 特殊字符至少一个
策略解释
0 LOW 校验级别最低,只校验密码长度,只要长度跟validate_password_length一样即可,默认长度是8位。
1 MEDIUM 这个时候首先要满足的是validate_password_policy=0时的验证要求。然后现去验证密码中的数字个 数,大小写个数,特殊字符个数。
2 STRONG 这个时候必须先满足0,1的要求,然后它还追加了一个,对于密码中任意连续4个(或4个让上)字符不得 是字典中的单词(validate_password_dictionary_file)
set global validate_password_policy=0; # 关闭密码复杂性策略(LOW)
set global validate_password_length=3; # 设置密码复杂性要求密码最低长度为3
select @@validate_password_policy; # 查看密码复杂性策略
select @@validate_password_length; # 查看密码复杂性要求密码最低长度大小
validate_password_length(最低可以设置为4位)
设置完便可设置自己喜欢的密码了
6:创建用户并授权
MySQL中的用户账户由用户名和主机部分组成,要创建MySQL账户语法如下
语法:mysql> CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
# '用户名'@'localhost' 其中localhost代表设置只能从localhost本机连接到MySQL服务器,无 法远程
语法:mysql> CREATE USER '用户名ser'@'119.28.68.52' IDENTIFIED BY '密码';
# '用户名'@'119.28.68.52' 只能从IP 119.28.68.52 的计算机授予(远程)访问权限
语法:mysql> CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
# '用户名'@'%' 可以从任何主机连接到MySQL
用户账户权限设置:
ALL PRIVILEGES - 授予用户帐户的所有权限。
CREATE - 允许用户帐户创建数据库和表。
DROP - 允许用户帐户删除数据库和表。
DELETE - 允许用户帐户从特定表中删除行。
INSERT - 允许用户帐户将行插入特定表。
SELECT - 允许用户帐户读取数据库。
UPDATE - 允许用户帐户更新表行。
语法:mysql> GRANT ALL 权限1,权限2,... ON 分配权限的数据库名称 . * TO '用户名'@'%';
示例:
显示MySQL用户帐户权限:
要查找授予特定MySQL用户帐户的权限,请使用SHOW GRANTS语句:
SHOW GRANTS FOR '用户名'@'localhost';
退出
quit / exit
刷新配置
flush privileges;
打开MySQL端口号 3306/tcp
firewall-cmd--list-ports
firewall-cmd --zone=public --add-port=3306/tcp –permanent
firewall-cmd --reload
标签:教程,mysql,Mysql,Linux,密码,MySQL,--,validate,password From: https://blog.csdn.net/qq_66544042/article/details/141329592