MySQL5.7版本的安装

MySQL的安装

  • 所有平台的 MySQL 下载地址为: MySQL 下载。 挑选你需要的 MySQL Community Server 版本及对应的平台。

注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。

Linux上用yum安装 MySQL

Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

  • MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
  • MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
    - MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
    - MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
    - MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

安装前,我们可以检测系统是否自带安装 MySQL:

 rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载:

 rpm -e mysql                  // 普通删除模式 
 rpm -e --nodeps mysql  //强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

YUM安装 MySQL:

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中
MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum
资源包,下载地址为:https://dev.mysql.com/downloads/repo/yum/

在这里插入图片描述

1. 安装MySQL官方的 Yum Repository

[root@BrianZhu /]# yum  -y  install  https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm

1.2. 修改yum文件。

vim mysql-community.repo
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
这个enable后面参数修改为1,其他的源全部修改为0。

1.3. 使用yum安装MySQL了

 [root@BrianZhu /]# yum -y install mysql-community-server

2. MySQL数据库设置

2.1.首先启动MySQL

 [root@BrianZhu /]# systemctl start  mysqld.service

2.2. 查看MySQL运行状态,运行状态如图:

[root@bogon yum.repos.d]# systemctl status mysqld.service 
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-03-22 06:18:18 CST; 6min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 2206 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 2157 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 2209 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2209 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Mar 22 06:18:14 bogon systemd[1]: Starting MySQL Server...
Mar 22 06:18:18 bogon systemd[1]: Started MySQL Server.

2.3. 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

  [root@bogon yum.repos.d]# grep password /var/log/mysqld.log 
2020-03-21T22:18:16.434127Z 1 [Note] A temporary password is generated for root@localhost: pWpa,pBJa21B
   

上面的”pWpa,pBJa21B“就是初始密码

3. 如下命令进入数据库:

[root@BrianZhu /]# mysql -uroot -p     --- 回车后会提示输入密码然后输入pWpa,pBJa21B

3.1. 输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

> mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; //修改密码,密码必须符合复杂性(密码位数为8,其中包括数字、英文小写字母、大写字母、特殊符号);

3,2. 如果不想以后设置密码这么复杂可以修改password策略:

 mysql> show variables like "%password%";
 +----------------------------------------+-----------------+
| Variable_name                          | Value           |
+----------------------------------------+-----------------+
| default_password_lifetime              | 0               |
| disconnect_on_expired_password         | ON              |
| log_builtin_as_identified_by_password  | OFF             |
| mysql_native_password_proxy_users      | OFF             |
| old_passwords                          | 0               |
| report_password                        |                 |
| sha256_password_auto_generate_rsa_keys | ON              |
| sha256_password_private_key_path       | private_key.pem |
| sha256_password_proxy_users            | OFF             |
| sha256_password_public_key_path        | public_key.pem  |
| 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               |   MEDIUM          |
| validate_password_special_char_count   | 1               |
+----------------------------------------+-----------------+
17 rows in set (0.08 sec)

3.3. 各项值说明

validate_password_policy:密码安全策略,默认MEDIUM策略

策略检查规则
0 or LOW长度
1 or MEDIUM长度;数字、小写/大写和特殊字符
2 or STRONG长度;数字、小写/大写和特殊字符;字典文件

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

validate_password_length:密码最少长度

validate_password_mixed_case_count:大小写字符长度,至少1个

validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个

3.4. 修改策略(将策略要求置为LOW,长度要求置为1)

 mysql> set global validate_password_policy=0;  //设置密码策略为LOW
 mysql> set global validate_password_length=1; //设置密码长度为1
 mysql> show variables like "%password%";
+----------------------------------------+-----------------+
| Variable_name                          | Value           |
+----------------------------------------+-----------------+
| default_password_lifetime              | 0               |
| disconnect_on_expired_password         | ON              |
| log_builtin_as_identified_by_password  | OFF             |
| mysql_native_password_proxy_users      | OFF             |
| old_passwords                          | 0               |
| report_password                        |                 |
| sha256_password_auto_generate_rsa_keys | ON              |
| sha256_password_private_key_path       | private_key.pem |
| sha256_password_proxy_users            | OFF             |
| sha256_password_public_key_path        | public_key.pem  |
| validate_password_check_user_name      | OFF             |
| 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               |
+----------------------------------------+-----------------+
17 rows in set (0.08 sec)
*经测试,最小长度为4,设置为1无效,所以默认最小值为4。*

3.5. 重置密码

 mysql> alter user 'root'@'localhost' identified by '1234';
 *密码可以登陆了,以上修改密码策略为临时修改服务重启一下就无效了*

4. 永久修改密码策略:

4.1. 关闭MySQL服务;

 [root@bogon ~]# systemctl stop mysqld.service

4.2. 编辑MySQL的配置文件:

 [root@bogon ~]# vim /etc/my.cnf
 ............
  [mysqld]
 validate_password_policy=0    
 validate_password_length=4 
 ...........

4.3. 开启MySQL服务:

 [root@bogon ~]# systemctl start mysqld.service
 *没有报错就说明修改成功了。*

5. mysql主要参数

描述
/etc/my.cnfmysql的主配置文件
/var/lib/mysql数据库目录
3306数据库默认端口号
mysqldmysql主进程名称
TCP传输协议
mysql:mysql进程的所属组和所属者
/var/log/mysqld.log错误日志文件
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值