lampfree小站

学习交流lamp技术,笔记记录

从0开始搭建一个lnmp环境 - 安装mysql5.7(3)

评论

mysql这里采用yum方式
安装的过程比较简单,但是安装后需要进行一些设定才可以用。

安装过程

wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm
rpm -ivh mysql57-community-release-el6-8.noarch.rpm
yum install -y  mysql mysql-server mysql-devel
service mysqld restart

软件包比较大,下载的时间估计会长点。

找到root密码

cat /var/log/mysqld.log | grep password | head -1

mysql安装后密码会写到 /var/log/mysqld.log中, 这个发生在 service mysqld restart 之后的

登录测试

mysql -uroot -p
Enter password:  #这里输出找到的密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.12

登录成功,无法执行任何操作

mysql> select now();
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

提示需要更改密码才可以

set password = password('123456');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个提示密码太简单了,和目前的安全策略有冲突。
设置一个复杂的密码就可以解决, 比如数字,字母,特殊符号,大小写这些。

set password = password('asFG$#1239WE56');
Query OK, 0 rows affected, 1 warning (0.00 sec)

这样就可以使用了。

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2016-05-20 17:55:47 |
+---------------------+
1 row in set (0.00 sec)

create  database lampfree;
Query OK, 1 row affected (0.00 sec)

如果想把密码设置比较简单改怎么做

查看下密码策略

mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | STRONG |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+

可以看到要求密码8位,并且validate_password_policy STRONG
修改这些值

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

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


mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
6 rows in set (0.01 sec)

这里需要注意即使设置的最短密码是1位,但是系统还是设置成4。
也就是说密码不能低于四位。

再次修改密码测试

mysql> set password = password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

如果想起到永久的效果就写入到配置文件中

配置文件 /etc/my.cnf 修改

[mysqld] # 该配置下填写, 最好不要这么做,除非就是做个测试。
validate_password_policy=0
validate_password_length=1