MySQL数据库:MySql服务器安装与配置(rpm)教程
Vivian 2018-06-12 来源 : 阅读 1189 评论 0

摘要:本文主要向大家介绍了MySQL数据库的MySql服务器安装与配置(rpm)教程,通过具体的实例让大家了解,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库的MySql服务器安装与配置(rpm)教程,通过具体的实例让大家了解,希望对大家学习MySQL数据库有所帮助。

一、检查系统中是否装有Mysql

rpm -qa | grep mysql 或者:rpm -qa | grep -i mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

[root@peipei3514 ~]# rpm -qa | grep -i mysql

mysql-libs-5.1.71-1.el6.x86_64

   

二、删除卸载原有的Mysql

通过 rpm -e 命令 或者 rpm -e –nodeps 命令来卸载掉,注意两个命令后面是你的mysql-libs-5.1.71-1.el6.x86_64名称版本号  

[root@peipei3514 ~]#  rpm -e mysql // 普通删除模式

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

   

如果你不是通过rpm安装的肯定返回错误,说明没有rpm包。 

[root@peipei3514 ~]# rpm -e --nodeps mysql

错误:未安装软件包 mysql

   

如果是yum安装的我们使用下面的命令: 

[root@peipei3514 ~]# yum -y remove mysql-libs-5.1.71-1.el6.x86_64

   

如果返回 You need to be root to perform this command。说明你需要root权限,在终端,输入su回车, 然后输入密码回车就行了!密码是不显示的。 

[root@peipei3514 ~]# su

Password:

   

再次执行删除命令,最后返回如果看到下面的信息:

......

Removed:

  mysql-libs.x86_64 0:5.1.71-1.el6                                             

 

Dependency Removed:

  cronie.x86_64 0:1.4.4-12.el6        cronie-anacron.x86_64 0:1.4.4-12.el6     

  crontabs.noarch 0:1.10-33.el6       postfix.x86_64 2:2.6.6-2.2.el6_1         

  sysstat.x86_64 0:9.0.4-22.el6     

 

Complete!

   

删除成功!
再次查看

[root@peipei3514 ~]# rpm -qa | grep mysql

[root@peipei3514 ~]#

   

三、给CentOS添加rpm源 

[root@peipei3514 ~]# cd /usr/local/src/

[root@peipei3514 src]# wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

[root@peipei3514 src]# yum localinstall mysql57-community-release-el7-11.noarch.rpm -y

   

四、安装 mysql 服务 

[root@peipei3514 src]# yum search mysql

[root@peipei3514 src]# yum install mysql-community-server.x86_64 -y

   

五、启动

[root@peipei3514 src]# systemctl start mysqld

[root@peipei3514 src]# systemctl status mysqld

● mysqld.service - MySQL Server

   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

   Active: active (running) since 日 2017-12-24 13:38:24 CST; 41min ago

     Docs: man:mysqld(8)

           https://dev.mysql.com/doc/refman/en/using-systemd.html

  Process: 10514 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)

  Process: 10441 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)

 Main PID: 10517 (mysqld)

   CGroup: /system.slice/mysqld.service

           └─10517 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

 

12月 24 13:38:18 peipei3514 systemd[1]: Starting MySQL Server...

12月 24 13:38:24 peipei3514 systemd[1]: Started MySQL Server.

   

六、查看 mysql 随机密码

[root@peipei3514 src]# vim /var/log/mysqld.log

 

# 在日志文件中找到这样一行

2017-12-24T05:38:19.332201Z 1 [Note] A temporary password is generated for root@localhost: DGAreee6kM-E

   

注:Mysql 5.6及以后版本出处于安全考虑,root密码不为空。第一次启动后会有个初始化的过程,会产生root账户的随机密码。在/var/log/mysqld.log 。登陆上过后,进行正常操作会受限,提示你必须修改密码后才能进行操作。

七、初始化设置 

[root@peipei3514 src]# mysql_secure_installation

   

运行mysql_secure_installation会执行几个设置:

为root用户设置密码(可以先看第八步); 删除匿名账号; 取消root用户远程登录; 删除test库和对test库的访问权限; 刷新授权表使修改生效。

通过这几项的设置能够提高mysql库的安全。建议生产环境中mysql安装这完成后一定要运行一次mysql_secure_installation

八、设置远程登录

1、设置 mysql 远程登录


mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.00 sec)

 

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)


[root@peipei3514 src]# vim /etc/my.cnf

 

[client]

port=3306

   

2、开放防火墙端口 

[root@peipei3514 src]# firewall-cmd --add-port=3306/tcp --permanent

success

[root@peipei3514 src]# firewall-cmd --reload

success

   

 

九、修改密码策略

查阅官方文档后发现有以下三种密码策略:

MySQL数据库:MySql服务器安装与配置(rpm)教程

   

当前密码策略默认为1,也就是 MEDIUM:

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_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.02 sec)

   

所以你更改密码的策略是 数字 小写字母 大写字母 特殊字符 长度至少8位 。

接下来修改默认密码策略(当然实际环境是不推荐修改为更低安全策略的):

mysql> set global validate_password_policy = 0;

Query OK, 0 rows affected (0.00 sec)

   

现在设置完默认密码策略后,就只有密码长度限制 了。默认为字符长度至少8位。其中:

validate_password_number_count:指定了密码中数据的长度; validate_password_special_char_count:指定了密码中特殊字符的长度; validate_password_mixed_case_count:指定了密码中大小字母的长度。

这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。

mysql> set global validate_password_length = 3;

Query OK, 0 rows affected (0.00 sec)

 

mysql> show VARIABLES  like "validate_password_length";

+--------------------------+-------+

| Variable_name            | Value |

+--------------------------+-------+

| validate_password_length | 4     |

+--------------------------+-------+

1 row in set (0.00 sec)

   

如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

MySQL 5.7 默认安装了 validate_password 插件。 所以多了以上步骤。

附1:通过my.cnf 配置文件设置密码策略的级别 

[mysqld]

validate_password_policy=2

   

最后一行 validate_password_policy 设置mysql启动的时候密码策略级别。 如果设置为3 ,那么需要指定字典文件。

当然你也可以通过 my.cnf 配置文件关闭 validate_password 插件。
只需要添加一行:

validate_password = off

   

编辑完配置文件后,重启mysqld服务即可生效。

mysql> show VARIABLES  like "validate_password%";

+-----------------+---------+

| Variable_name   | Value   |

|-----------------+---------|

+-----------------+---------+

0 rows in set

Time: 0.008s

   

关闭validate_password插件后,就没有了validate_password的一些参数变量。

附2:修改 mysql 监听在 IPv4

MySQL 新版本默认监听在IPv6的地址族上。 

[root@peipei3514 src]# netstat -tunpl -A inet6

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   

tcp6       0      0 :::22                   :::*                    LISTEN      991/sshd           

tcp6       0      0 ::1:25                  :::*                    LISTEN      1093/master        

tcp6       0      0 :::3306                 :::*                    LISTEN      10640/mysqld       

udp6       0      0 :::16101                :::*                                804/dhclient       

udp6       0      0 ::1:323                 :::*                                644/chronyd

   

更改为监听IPv4地址族,修改 my.cnf 添加一行配置:

bind-address = 0.0.0.0

   

重启mysqld 即可。

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @Vivian 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程