安装mysql
下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysq1-5.6.33-linux-glibc2.5x86_64.tar.gz
解压:tar -zxvfmysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
复制解压后的mysql目录:
cp-rmysql-5.6.33-linux-glibc2.5-x86 64 /usr/local/mysql
添加用户组
groupadd mysql
添加用户mysql到用户组mysql
useradd -g mysql mysql
以后使用数据库就用这个账号,否则就是默认当前的root账号来运行mysql。这样做是不安全的做法,如果遭受公鸡直接就可以获取最高权限。也没有必要用root权限来运行。
更新一下
sudo apt update
根据不同的版本可能安装的命令也会不一样。
进入到mysql的目录下
cd /usr/local/musql
修改当前目录拥有者为root用户
chown -R mysql:mysql ./
执行安装数据库的操作
./scripts/mysql_install_db --user=mysql
报错缺失某些库
搜索一下这个名称的库,看看有没有,如果有就安装一下
apt search libaio
apt install libaio.so
然后再吧文件夹和权限所有者改回到root
chown -R mysql:mysql ./
只留一个data目录,是root可读可写的,将来吧数据库相关的库文件都放在data目录里
chown -R mysql:mysql data
添加开机启动:执行命令cp support-files/mysql.server/etc/init.d/mysql
拷贝一个系统服务的启动文件,把启动脚本放到开机初始化目录
ubuntu的命令是
update-rc.d mysql defaults
赋予可执行权限
chmod +x /etc/init.d/mysql
添加服务:chkconfig--add mysql
显示服务列表:chkconfig--list
启动mysql
service mysql start
查看服务端口是否启用
ss -pantu | grep 3306
ps -ef | grep mysqld
检查口令
- 安全基线项说明:确保数据库不存在弱口令,提高数据库安全性
- 检查方法:
mysql>use mysql
mysql>select user,password from mysql.user,
将密码hash导入cain软件破接
- 加固方法:
如要修改密码,执行如下命令:首先以root用户登录
mysql>use mysqlmysql>update user set password=password('复杂的新密码’) where user='test'
;mysql> flush privileges;
在MySQL中,检查用户口令(密码)的安全性通常涉及以下几个方面:
- 密码复杂度:确保密码足够复杂,不容易被猜测或暴力破接。这通常意味着密码应该包含大小写字母、数字和特殊字符的组合。
- 密码过期策略:设置密码的有效期限,强制用户定期更改密码,以减少密码泄露的风险。
- 密码历史记录:限制用户重复使用旧密码,以防止用户在密码泄露后简单地重新使用旧密码。
- 账户锁定策略:在多次登录失败后锁定账户,以防止暴力破接公鸡。
要检查MySQL用户的密码,你可以使用以下方法:
查看用户密码(不推荐)
在MySQL中,用户的密码是以加密形式存储的,通常不会直接显示明文密码。如果你是数据库管理员,可以使用以下命令查看用户的密码哈希值:
SELECT User, Host, authentication_string FROM mysql.user;
这将显示所有用户的用户名、主机和密码哈希值。请注意,这并不是实际的密码,而是密码的加密表示。
检查密码复杂度
MySQL 5.6.6及更高版本引入了密码验证插件,可以用来检查密码的强度。你可以使用以下命令查看是否启用了密码验证插件:
SHOW VARIABLES LIKE 'validate_password%';
这将显示与密码验证相关的系统变量及其值。如果启用了密码验证插件,你可以通过调整这些变量的值来设置密码复杂度的要求。
重置用户密码
如果你需要重置用户的密码,可以使用以下命令:
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
请将username
、host
和new_password
替换为相应的值。
密码过期策略
要设置密码的自动过期策略,可以使用以下命令:
ALTER USER 'username'@'host' PASSWORD EXPIRE INTERVAL 90 DAY;
这将设置用户的密码每90天过期一次。
账户锁定策略
MySQL没有内置的账户锁定策略,但你可以通过编写触发器或脚本来实现这一点。例如,你可以在登录失败次数达到一定阈值后,使用脚本自动锁定账户。
请记住,检查和维护密码安全是一个持续的过程,应该定期进行审计和更新。此外,确保你的MySQL服务器和应用程序都遵循最佳实践,以保护用户凭据不被泄露。
标签:密码,MySQL,用户,安全,user,mysql,加固,password From: https://blog.51cto.com/zhuzhuxia/12137147