centOs7 安装配置mysql

centOs7 安装配置mysql

一,安装YUM Repo

1,下载命令:

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

二, 进行repo的安装:

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

[root@VM-0-10-centos server]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
warning: mysql57-community-release-el7-9.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql57-community-release-el7-9  ################################# [100%]
[root@VM-0-10-centos server]# 

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

三,使用yum命令即可完成安装

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

1,安装命令:

yum install mysql-server

2,启动mysql:

systemctl start mysqld

3,

四, 登录:

1,先获取安装时的临时密码

grep ‘temporary password’ /var/log/mysqld.log

centOs7 安装配置mysql
然后登录,输入获取的临时密码

mysql -u root -p

[root@VM-0-10-centos yum.repos.d]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.33

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

2,修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘test123’;

这时可能会出现一个错误

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

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

输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,

mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '!abc1234';
Query OK, 0 rows affected (0.00 sec)

mysql> 

3, 查看密码策略

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| 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     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

mysql> 

当前是8位密码,如需改为6位,

输入设值语句 “ set global validate_password_length=6; ” 进行设值,

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

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 的取值:

LOW:只验证长度;

1/MEDIUM:验证长度、数字、大小写、特殊字符;

2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;

6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

五,开启远程控制

MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了的。

1.1、连接服务器: mysql -u root -p

1.2、看当前所有数据库:show databases;

1.3、进入mysql数据库:use mysql;

1.4、查看mysql数据库中所有的表:show tables;

1.5、修改user表中的Host: update user set Host=’%’ where User=‘root’;

            说明: % 代表任意的客户端,可替换成具体IP地址。

1.6、最后刷新一下:flush privileges;

六,其他配置

1、设置安全选项:

mysql_secure_installation

2、关闭MySQL

systemctl stop mysqld

3、重启MySQL

systemctl restart mysqld

4、查看MySQL运行状态

systemctl status mysqld

5、设置开机启动

systemctl enable mysqld

6、关闭开机启动

systemctl disable mysqld

7、配置默认编码为utf8:

vi /etc/my.cnf
#添加
[mysqld] character_set_server=utf8 init_connect=‘SET NAMES utf8’

七,创建用户和权限管理

1.创建用户:

  • 指定ip:192.118.1.1的mjj用户登录

create user ‘alex’@‘192.118.1.1’ identified by ‘123’;

  • 指定ip:192.118.1.开头的mjj用户登录

create user ‘alex’@‘192.118.1.%’ identified by ‘123’;

  • 指定任何ip的mjj用户登录

create user ‘alex’@’%’ identified by ‘123’;

2.删除用户

drop user ‘用户名’@‘IP地址’;

3.修改用户

rename user ‘用户名’@‘IP地址’ to ‘新用户名’@‘IP地址’;

4.修改密码

set password for ‘用户名’@‘IP地址’=Password(‘新密码’);

5.对当前的用户授权管理

  • 查看权限

show grants for ‘用户’@‘IP地址’

  • 授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作

grant select ,insert,update on db1.t1 to “test”@’%’;

  • 表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作

grant all privileges on db1.t1 to “alex”@’%’;

  • mjj用户对db1数据库中的文件执行任何操作

grant all privileges on db1.* to “alex”@’%’;

  • mjj用户对所有数据库中文件有任何操作

grant all privileges on . to “test”@’%’;

取消权限

  • 取消mjj用户对db1的t1文件的任意操作

revoke all on db1.t1 from ‘alex’@"%";

  • 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限

revoke all on db1.* from ‘alex’@"%";

  • 取消来自远程服务器的mjj用户所有数据库的所有的表的权限

revoke all privileges on . from ‘alex’@’%’;

上一篇:MYSQL8.0 设置简单密码Unknown system variable 'validate_password_policy'Your password does not sa


下一篇:CentOS7 yum方式安装MySQL5.7