Advertisement

CentOS7使用yum 安装Mysql5.7

阅读量:

CentOS7使用yum 安装Mysql5.7

安装环境 :CentOS7 64位 MINI版,安装MySQL5.7

1、配置yum源
复制代码
    # 下载mysql源安装包
    [root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
    #如果出现 -bash: wget: 未找到命令 则证明wget没有安装则执行下面命令
    [root@localhost ~]# yum -y install wget 
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    正在解决依赖关系
    ..............
    # 安装mysql源
    [root@localhost ~]# yum localinstall mysql57-community-release-el7-8.noarch.rpm
    #安装完成后,检查mysql源是否安装成功
    [root@localhost ~]# yum repolist enabled | grep "mysql.*-community.*"
    mysql-connectors-community/x86_64        MySQL Connectors Community           65
    mysql-tools-community/x86_64             MySQL Tools Community                69
    mysql57-community/x86_64                 MySQL 5.7 Community Server          287
    #如果出现上面的情况则证明安装成功
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释

通过修改vim /etc/yum.repos.d/mysql-community.repo源文件内容来调整默认安装的MySQL数据库版本。具体操作如下:首先将MySQL 5.7源库对应的enabled=1设置为enabled=0以去除该版本;接着将MySQL 5.6源库对应的enabled=0设置为enabled=1以重新启用该版本。完成上述设置后即可实现MySQL 5.6版本的成功安装。

在这里插入图片描述
2、安装MySQL
复制代码
    #执行如下yum命令开始安装(安装过程需耐心等待)
    [root@localhost ~]# yum install mysql-community-server
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 mysql-community-server.x86_64.0.5.7.23-1.el7 将被 安装
    ....................
    ...................
    替代:
      mariadb-libs.x86_64 1:5.5.56-2.el7                                                                                                                
    
    完毕!
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释
3、启动MySQL服务
复制代码
    #启动mysql服务
    [root@localhost ~]# systemctl start mysqld
    #查看MySQL的启动状态
    [root@localhost ~]# systemctl status mysqld
    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       Active: active (running) since 日 2018-09-23 11:13:39 CST; 10s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
      Process: 1225 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
      Process: 1152 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
     Main PID: 1228 (mysqld)
       CGroup: /system.slice/mysqld.service
           └─1228 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
    
    9月 23 11:13:35 localhost.localdomain systemd[1]: Starting MySQL Server...
    9月 23 11:13:39 localhost.localdomain systemd[1]: Started MySQL Server.
    #如出现Active: active (running) since 日 2018-09-23 11:13:39 CST; 10s ago则证明mysql已启动
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释
4、mysql设置开机启动
复制代码
    [root@localhost ~]# systemctl enable mysqld
    [root@localhost ~]# systemctl daemon-reload
    
    
      
      
    
    代码解释
5、修改root本地登录密码

在mysql安装完成后,在/var/log/mysqld.log文件中配置root用户并为它设置默认密码。按照以下步骤查找root用户的默认密码信息,并登录MySQL数据库进行相关设置:

复制代码
    [root@localhost ~]#  grep 'temporary password' /var/log/mysqld.log
    2018-09-23T03:13:36.458329Z 1 [Note] A temporary password is generated for root@localhost: rstTpp#fU6ig
    # rstTpp#fU6ig则为mysql的默认密码
    #登录mysql
    [root@localhost ~]# mysql -uroot -p
    Enter password:(输入上面的默认密码即可)
    #修改root密码
    set password for 'root'@'localhost'=password('MyNewPass4!');
    
    
      
      
      
      
      
      
      
      
    
    代码解释

请特别注意:在mysql5.7版本中,默认配置了验证密码插件(validate_password),该插件规定用户密码必须包含大小写字母、数字以及特殊符号,并且最低长度为8字符。如果不符合上述要求,则会触发错误提示ERROR 1819 (HY000):Your password does not meet the current policy requirements。例如:

复制代码
    mysql> set password for 'root'@'localhost'=password('1992');
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    
    
      
      
    
    代码解释

通过msyql环境变量可以查看密码策略的相关信息:

复制代码
    mysql> show variables like '%password%';
    +---------------------------------------+--------+
|Variable_name|Value|

    +---------------------------------------+--------+
|default_password_lifetime|0|
|---|---|
|log_builtin_as_identified_by_password|OFF|
|mysql_native_password_proxy_users|OFF|
|old_passwords|0|
|report_password||
|sha256_password_proxy_users|OFF|
|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|

    +---------------------------------------+--------+
    14 rows in set (0.01 sec)
    #validate_password_policy:            密码策略,默认为MEDIUM策略
    #validate_password_dictionary_file:   密码策略文件,策略为STRONG才要
    #validate_password_length:            密码最少长度
    #validate_password_mixed_case_count:  大小写字符长度,至少个
    #validate_password_special_char_count:特殊字符至少1个上述参数是默认策略MEDIUM的密码检规则。
    共有以下几种密码策略:策略检查规则
    0 or LOW    Length
    1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
    2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
    #修改密码策略在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略
    # 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
    validate_password_policy=0
    #如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:
    validate_password = off
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释

MySQL官方关于密码安全的规定进行了全面介绍:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

MySQL官方关于密码安全的规定进行了全面介绍:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

重新启动mysql服务使配置生效:

复制代码
    systemctl restart mysqld
    
    
      
    
    代码解释
6、添加远程登录用户
复制代码
    #默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'chengbq'@'%' IDENTIFIED BY 'chengbq0917!' WITH GRANT OPTION;
    
    
      
      
    
    代码解释
7、配置默认编码为utf8
  • 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
复制代码
    #在my.cnf配置文件下添加如下
    #character_set_server=utf8
    #init_connect='SET NAMES utf8'
    [root@localhost ~]# vim /etc/my.cnf
    
    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    
    [mysqld]
    
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    
    
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释

重新启动mysql服务,查看数据库默认编码如下所示:

复制代码
    [root@localhost ~]# systemctl restart mysqld
    ####登录mysql
    mysql> show variables like '%char%';
    +--------------------------------------+----------------------------+
|Variable_name|Value|

    +--------------------------------------+----------------------------+
|character_set_client|utf8|
|---|---|
|character_set_database|utf8|
|character_set_filesystem|binary|
|character_set_results|utf8|
|character_set_server|utf8|
|character_set_system|utf8|
|character_sets_dir|/usr/share/mysql/charsets/|
|validate_password_special_char_count|1|

    +--------------------------------------+----------------------------+
    9 rows in set (0.01 sec)
    
    mysql> show variables like '%collation%';
    +----------------------+-----------------+
|Variable_name|Value|

    +----------------------+-----------------+
|collation_connection|utf8_general_ci|
|---|---|
|collation_server|utf8_general_ci|

    +----------------------+-----------------+
    3 rows in set (0.00 sec)
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释
就此,数据库已经安装完成,享受mysql5.7带来的改变吧~

全部评论 (0)

还没有任何评论哟~