环境介绍:
操作系统版本:CentOS Linux release 7.5.1804 (Core)
MySQL版本: Server version: 5.7.17
1 软件的安装
[root@mysql ~]# tar -xvf mysql-5.7.17.tar #-v 表示显示解压过程
./mysql-community-client-5.7.17-1.el7.x86_64.rpm
./mysql-community-common-5.7.17-1.el7.x86_64.rpm
./mysql-community-devel-5.7.17-1.el7.x86_64.rpm
./mysql-community-embedded-5.7.17-1.el7.x86_64.rpm
./mysql-community-embedded-compat-5.7.17-1.el7.x86_64.rpm
./mysql-community-embedded-devel-5.7.17-1.el7.x86_64.r
./mysql-community-libs-5.7.17-1.el7.x86_64.rpm
./mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
./mysql-community-minimal-debuginfo-5.7.17-1.el7.x86_64.rpm
./mysql-community-server-5.7.17-1.el7.x86_64.rpm
./mysql-community-test-5.7.17-1.el7.x86_64.rpm
[root@mysql ~]#
[root@mysql ~]# yum -y install mysql-community*
2 启动服务,并设置为开机自启动
[root@mysql ~]# systemctl start mysqld #第一次启动需要初始化数据,会比较慢
[root@mysql ~]# systemctl enable mysqld
3 使用随机密码登陆
#第一次启动时,mysql会自动为root账户配置随机密码,
#密码在日志文件 /var/log/mysqld.log中
[root@mysql ~]# grep password /var/log/mysqld.log #查看密码,并使用随机密码登陆
2020-06-25T13:12:04.592367Z 1 [Note] A temporary password is generated for root@localhost: KomTyuS=:6Pw
[root@mysql ~]# mysql -uroot -p'KomTyuS=:6Pw'
mysql> show databases; #提示必须修改密码才可执行其它操作
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
4 修改密码
#MySQL默认密码策略是生效的,设置密码时对密码长度和复杂度是有
#要求的, #可以通过修改变量 validate_password_policy来改变密码策略 mysql> set global validate_password_policy=0; #把密码策略置为0 Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_length=6; #密码长度置为6 Query OK, 0 rows affected (0.00 sec) mysql> alter user user() identified by "123456"; #修改当前账户的密码 Query OK, 0 rows affected (0.00 sec)
为了使修改的密码策略永久生效,在配置文件文件中添加如下内容
[root@mysql ~]# vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
5 重启服务
[root@mysql ~]# systemctl restart mysqld
[root@mysql ~]# netstat -ntulp | grep 3306 #3306端口已启来,mysql启动成功
tcp6 0 0 :::3306 :::* LISTEN 23421/mysqld
[root@mysql ~]#
5 再次登陆:
[root@mysql~]# mysql -uroot -p123456
mysql> show databases;
+------------------------+
| Database |
+------------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+------------------------+
4 rows in set (0.00 sec)
#数据库默认有4个库文件,其中information_schema是虚拟库
#内存中的数据会映射到该数据库中。剩余的三个库文件sys,
#performance_schema,mysql在/var/lib/mysql目录下以
#目录的形式存储
备注:
mysql的密码策略:
策略参数 值 描述
0 或者 LOW 长度
validate_password_policy 1 或者 MEDIUM(默认) 长度;、数字、大写、小写,、殊符号
2 或者 STRONG 长度、数字、大写小写、特殊符号、字典文件