美文网首页
centos7 安装mysql

centos7 安装mysql

作者: IT楠老师 | 来源:发表于2019-09-30 04:35 被阅读0次

第一步、前往mysql官网下载所需的版本

Mysql5.7的rpm包下载地址为https://dev.mysql.com/downloads/mysql/ ,最好使用迅雷复制链接地址下载,具体方法:点击download,页面下方会显示 No thanks, just start my download.,一定要在此处右键,复制链接,在迅雷中下载。

下载完成后就上传的CentOS系统上。

第二步、解压安装

[root@youxi2 ~]# mkdir Mysql  //创建一个专门的Mysql目录
[root@youxi2 ~]# tar xf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar -C Mysql/  //将解压的文件放到Mysql目录下
[root@youxi2 ~]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel net-tools  //安装依赖包
由于CentOS7开始自带的数据库是mariadb,所以需要卸载系统中的mariadb组件,才能安装mysql的组件
[root@youxi2 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@youxi2 ~]# yum -y remove mariadb-libs
  现在开始安装mysql,由于依赖关系,所以顺序是固定的。
[root@youxi2 ~]# rpm -ivh Mysql/mysql-community-common-5.7.16-1.el7.x86_64.rpm
警告:Mysql/mysql-community-common-5.7.16-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
 1:mysql-community-common-5.7.16-1.e################################# [100%]
[root@youxi2 ~]# rpm -ivh Mysql/mysql-community-libs-5.7.16-1.el7.x86_64.rpm
警告:Mysql/mysql-community-libs-5.7.16-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
 1:mysql-community-libs-5.7.16-1.el7################################# [100%]
[root@youxi2 ~]# rpm -ivh Mysql/mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
警告:Mysql/mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-libs-compat-5.7.1################################# [100%]
[root@youxi2 ~]# rpm -ivh Mysql/mysql-community-client-5.7.16-1.el7.x86_64.rpm
警告:Mysql/mysql-community-client-5.7.16-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
 1:mysql-community-client-5.7.16-1.e################################# [100%]
[root@youxi2 ~]# rpm -ivh Mysql/mysql-community-server-5.7.16-1.el7.x86_64.rpm  //之后安装就成功了
警告:Mysql/mysql-community-server-5.7.16-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
 1:mysql-community-server-5.7.16-1.e################################# [100%]

第三步、启动mysql并设置开机自启

[root@youxi2 ~]# systemctl start mysqld
[root@youxi2 ~]# systemctl enable mysqld
[root@youxi2 ~]# systemctl status mysqld
● mysqld.service - MySQL Server
 Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
 Active: active (running) since 日 2019-06-02 12:11:34 CST; 45s ago
 Main PID: 7840 (mysqld)
 CGroup: /system.slice/mysqld.service
 └─7840 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
​
6月 02 12:11:26 youxi2 systemd[1]: Starting MySQL Server...
6月 02 12:11:34 youxi2 systemd[1]: Started MySQL Server.

第四步、获取mysql临时密码,设置mysql的root用户密码

注意:5.6的密码使用 cat /root/.mysql_secret 查询
[root@youxi2 ~]# grep "password" /var/log/mysqld.log  //前往日志文件查找临时密码
2019-06-02T04:11:28.935057Z 1 [Note] A temporary password is generated for root@localhost: zS+u&ro49wbo
[root@youxi2 ~]# mysql -uroot -p"zS+u&ro49wbo"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.16
​
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
//可以看到设置简单的密码是会报错的,具体原因看最后的扩展
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> alter user 'root'@'localhost' identified by 'root1234';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> alter user 'root'@'localhost' identified by 'root1234ABC';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> alter user 'root'@'localhost' identified by 'root1234ABCD!@#/pre>;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
  修改密码出来使用“alter user 'root'@'localhost' identified by 'root1234ABCD!@#/pre>;”,也可以使用“set password for root@localhost=password('root1234ABCD!@#/pre>);”

第五步、测试

由于有特殊符号,必须用引号包裹密码

[root@youxi2 ~]# mysql -u root -p'root1234ABCD!@#/pre>
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

扩展:如果想要设置简单密码概如何操作?

有两种方法,一种在mysql里使用命令修改,一种直接修改配置文件。

在mysql里使用命令修改的办法:
[root@youxi2 ~]# mysql -u root -p'root1234ABCD!@'
​
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
mysql> select @@validate_password_policy;  //这个参数是密码复杂程度
+----------------------------+
| @@validate_password_policy |
+----------------------------+
| MEDIUM                     |
+----------------------------+
1 row in set (0.02 sec)
​
mysql> select @@validate_password_length;  //这个参数是密码长度
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          8 |
+----------------------------+
1 row in set (0.00 sec)
mysql> set global validate_password_policy=0;  //global全局的
Query OK, 0 rows affected (0.02 sec)
​
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
​
mysql> set password for root@localhost=password('123');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set password for root@localhost = password('1234');  //设置密码
Query OK, 0 rows affected, 1 warning (0.00 sec)
​
mysql> flush privileges;  //刷新
Query OK, 0 rows affected (0.00 sec)
​
mysql> exit  //退出
Bye
​
[root@youxi2 ~]# mysql -uroot -p1234
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.16 MySQL Community Server (GPL)
​
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
mysql></pre>
说明:

1.validate_password_policy复杂度级别:0表示密码达到长度即可;1表示密码需达到长度,还需有数字、大小写字母(可以单一可以混合)以及特殊字符;2表示密码需达到长度,还需数字、大小写字母(可以单一可以混合)以及特殊字符字典文件。MEDIUM是中等,也就是1。

2.validate_password_length其实是一个动态的值,它的最小值等于validate_password_number_count+validate_password_special_char_count(2*validate_password_mixed_case_count),而这三个参数分别对应密码中数字、特殊字符、大小写字母的最小数量。我操作时设置了validate_password_length=1,实际再次读取validate_password_length的值是4。

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          4 |
+----------------------------+
1 row in set (0.00 sec)</pre>
直接修改配置文件的办法:
[root@youxi2 ~]# vim /etc/my.cnf
validate-password=OFF  //在[mysqld]模块内添加,将validate_password插件关闭
[root@youxi2 ~]# systemctl restart mysqld  //重启mysqld服务
[root@youxi2 ~]# mysql -uroot -p1234    
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.16 MySQL Community Server (GPL)
​
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
mysql> set password for root@localhost=password('1');  //validate_password插件关闭后密码长度只需大于等于1即可,复杂度没有要求
Query OK, 0 rows affected, 1 warning (0.00 sec)
​
mysql> flush privileges;  //刷新
Query OK, 0 rows affected (0.00 sec)
​
mysql> exit  //退出
Bye
[root@youxi2 ~]# mysql -uroot -p1
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.16 MySQL Community Server (GPL)
​
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
mysql></pre>

注意:Mysql5.7是自带validate_password插件,关闭后对密码没有复杂度要求,只需密码长度大于等于1。

建议:/etc/my.cnf中将默认字符集设置为utf8,即添加一行character_set_server=utf8,然后重启mysqld

博客地址:https://mrznan.github.io/blog/2019/09/08/linux/centos7%E4%B8%AD%E5%AE%89%E8%A3%85mysql/#more

相关文章

  • Zabbix/安装

    安装MySQL:如果没有安装MySQL,则需要先安装。Centos7之前: Centos7使用了MariaDB替代...

  • HIVE搭建

    安装mysql centos7安装mariaDB安装mysql教程1安装mysql教程2安装教程3安装mysql教...

  • centos7下安装mysql

    mysql安装 centos7下使用yum源安装mysql 因为centos7下默认没有mysql的yum源,所以...

  • CentOS 7 安装MySQL

    (1)安装mysql Centos7通过yum安装最新MySQL (2)安装mysql 【1】安装mysql 步骤...

  • linux 安装mysql

    Centos7 安装mysql mysql 依赖libaio 所以需要首先安装libaio 检查mysql 是否...

  • 新的故事-安装MySQL

    一、安装MySQL 小目录 在windows 8.1安装mysql在centos7安装mysql通过docker安...

  • yum安装nginx,mysql,php

    centos7 一、安装nginx 安装mysql(centos7) 安装php centos8 安装php74 ...

  • linux 安装mysql5.7新命令

    安装mysql新命令 CentOS7安装MySQL 在CentOS中默认安装有MariaDB,这个是MySQL的...

  • CentOs7 安装 Mysql5.7

    CentOs7 安装 Mysql5.7 1、下载mysql源安装包 2、安装mysql源 3、检查mysql源是否...

  • aliyun.CentOS7.安装MySQL & node.20

    CentOS7 64位下MySQL5.7安装与配置(YUM) CentOS7安装MySQL5.7 1. 配置yum...

网友评论

      本文标题:centos7 安装mysql

      本文链接:https://www.haomeiwen.com/subject/vtkpyctx.html