Linux centos7.x安装MySQL必成功,附带密码设置安全级
网上看了很多安装mysql的教程,结果屁都安装不上,浪费了我好长时间,想自己写一篇分享出来,只针对centos7.x版本的。
1.先检查系统中是否已经安装了MySQL和MariaDB(MariaDB是MySQL的分支,之前因为MySQL被sun收购了,为了开源所以拉了一个分支出来,功能和MySQL一样,而centos7.x一般默认带MariaDB)
yum list installed | grep mysql (检查是否有安装mysql)
yum list installed | grep mariadb (检查是否有安装mariadb )
yum remove 数据库名称(删除语句,要是之前装过,需要删除)
同时删除/etc/目录下的my.cnf文件:
rm –rf /etc/my.cnf
2.下载安装包
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm(MySQL版本挑自己需要的版本)
未安装wget的同学执行以下命令安装(我之前装不上就是折在这里)
sudo yum install wget
3.安装包下下来之后就可以安装了
sudo rpm -ivh mysql57-community-release-el7-8.noarch.rpm
sudo yum install mysql-server
安装完成
4. 设置密码
当第一次启动MySQL服务器时,为MySQL根用户生成一个临时密码。 您可以通过运行以下命令找到密码:
sudo grep ‘temporary password’ /var/log/mysqld.log
运行该命令后会出现一个密码,在localhost后面。也可以直接去/var/log/mysqld.log这个目录下找,这个文件里有。
如果这个文件为空:
1).删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
rm -rf /var/lib/mysql
2).重启mysqld服务
systemctl restart mysqld
3).再去找临时密码
grep ‘temporary password’ /var/log/mysqld.log
5.配置mysql安装项
sudo mysql_secure_installation
输入自己刚刚的密码,接下来mysql会提示你输入新的密码,和一下其他设置,一般情况下我们都会输入y(密码必须至少包含8个字符并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。)
这里会涉及到很多设置,如果你不设置你可以点除了y|Y之外的任何键
看到All done!表示配置已经完成,尝试远程访问一下
我用的是navicat,因为我之前买的是腾讯云的服务器,在设置安全组里面已经开放了3306端口,如果第一次买服务器,需要设置一下,教程腾讯云里面就有,不知道的可以直接找我我截图给你指一下。
然后你MySQL的root账户是不能远程连接的,你要远程连接,你需要增加一个账户
先登陆你服务器的mysql,
GRANT ALL PRIVILEGES ON . TO ‘账户’@’%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;增加一个账户,登陆navicat的时候就可以用你输入的账户密码登陆了
上面大部分的内容来自lizy928该博主
然后那个密码的安全级(密码必须至少包含8个字符并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。)让我有点便秘,想设置一个简单的密码需要如何设置呢!!!
1.登陆MySQL
mysql -uroot -p(你的密码)
2.查看现有的密码策略
SHOW VARIABLES LIKE ‘validate_password%’;
参数解释:
1).validate_password_dictionary_file 指定密码验证的文件路径;
2).validate_password_length 密码最小长度
3).validate_password_mixed_case_count 密码至少要包含的小写字母个数和大写字母个数;
4).validate_password_number_count 密码至少要包含的数字个数
5).validate_password_policy 密码强度检查等级,对应等级为:0/LOW、1/MEDIUM、2/STRONG,默认为1
注意:
0/LOW:只检查长度;
1/MEDIUM:检查长度、数字、大小写、特殊字符;
2/STRONG:检查长度、数字、大小写、特殊字符字典文件。
6).validate_password_special_char_count密码至少要包含的特殊字符数
3、创建用户时报错:
GRANT ALL PRIVILEGES ON . TO ‘账户’@’%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
4.设置你要的安全等级
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE ‘validate_password%’;
这里的内容大部分拿了那个老哥的内容,我也是装了好久的MySQL,之前那些讲的我嬼雾里的,这个老哥的让我飞快的装上了,如果有用帮我点点赞吧