1,下载命令:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
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
注意:必须进入到 /etc/yum.repos.d/目录后再执行以下脚本
1,安装命令:
yum install mysql-server
2,启动mysql:
systemctl start mysqld
3,
1,先获取安装时的临时密码
grep ‘temporary password’ /var/log/mysqld.log
然后登录,输入获取的临时密码
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.创建用户:
create user ‘alex’@‘192.118.1.1’ identified by ‘123’;
create user ‘alex’@‘192.118.1.%’ identified by ‘123’;
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地址’
grant select ,insert,update on db1.t1 to “test”@’%’;
grant all privileges on db1.t1 to “alex”@’%’;
grant all privileges on db1.* to “alex”@’%’;
grant all privileges on . to “test”@’%’;
取消权限
revoke all on db1.t1 from ‘alex’@"%";
revoke all on db1.* from ‘alex’@"%";
revoke all privileges on . from ‘alex’@’%’;