博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下载安装mysql5.7教程详解
阅读量:3950 次
发布时间:2019-05-24

本文共 4540 字,大约阅读时间需要 15 分钟。

5 centos7安装MySQL 5.7.31

5.1 准备工作

安装MySQL在集群中任意一台机器上, 这里我安装在hadoop91(192.168.86.91)机器上

5.2 下载

点击 下载

5.3 删除Centos默认安装的MariaDB

# 查找mariadb安装包名字rpm -qa | grep -i mariadb # 卸载mariadb安装包,mariadb-libs-5.5.52-1.el7.x86_64是上一条命令查出结果rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

5.4 上传文件并解压

创建要上传的目录

cd /opt/myinstallmkdir mysql

将MySQL的安装包文件上传至linux的/opt/myinstall/mysql目录后解压

# 解压到当前目录tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar

解压到指定目录中 tar -xvf 压缩文件 -C /指定目录

5.5 rpm安装

按照以下顺序依次安装

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

5.5.1 如果安装报错

如果安装mysql-community-server-5.7.31-1.el7.x86_64.rpm时报错, 说明缺少依赖包libaio

[root@hadoop91 mysql]# rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm警告:mysql-community-server-5.7.31-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY错误:依赖检测失败:	libaio.so.1()(64bit) 被 mysql-community-server-5.7.31-1.el7.x86_64 需要	libaio.so.1(LIBAIO_0.1)(64bit) 被 mysql-community-server-5.7.31-1.el7.x86_64 需要	libaio.so.1(LIBAIO_0.4)(64bit) 被 mysql-community-server-5.7.31-1.el7.x86_64 需要

点击下载libaio的rpm包:libaio-0.3.109-13.el7.x86_64.rpm

上传到linux后执行

rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

重新执行就不会报错了

rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

5.6 启动mysqld服务

注意: 命令后有多余空格执行会报错

执行以下命令

# 启动服务systemctl start mysqld# 查看服务状态systemctl status mysqld

其他命令

# 停止服务systemctl stop mysqld# 重启服务systemctl restart mysqld

5.7 修改登录密码

MySQL5.6及以后版本出处于安全考虑,root密码不为空。所以在MySQL的安装过程中,会生成一个随机密码。

5.7.1 设置跳过密码登录

修改mysql的配置文件

vi /etc/my.cnf

在最后一行添加

# 跳过密码登录skip-grant-tables

保存后重启服务

systemctl restart mysqld

5.7.2 修改登录密码

输入mysql -u root -p后直接双击两次回车登录

查看root用户的密码命令

mysql> use mysql;mysql> select authentication_string,password_expired,user  from user;

修改密码为123456

mysql> update mysql.user set authentication_string=password('123456') where user='root';mysql> update user set password_expired='N' where user = 'root';

解释下为什么要加password()

mysql 4.1之后的版本中,密码采用password()函数哈希后保存。

具体保存在mysql数据库user表的authentication_string字段中。
相应文件为/mysqld/mysql-5.7/data/mysql/user.MYD。

如果执行修改密码的sql报错

修改validate_password_policy参数的值, 修改允许的密码长度

mysql> set global validate_password_policy=0;mysql> set global validate_password_length=1;

重启mysqld服务

输入quit退出mysql交互界面

修改/etc/my.cnf文件将设刚刚添加在最后一行的skip-grant-tables删除掉或注释掉

vi /etc/my.cnf

保存后重启mysqld服务

systemctl restart mysqld

使用修改后的密码, 重新登录验证是否修改成功

mysql -u root -p

输入刚刚设置的密码123456, 出现mysql交互页面则安装成功

5.8 修改mysql 编码

修改配置文件

vi /etc/my.cnf
在[mysqld]下添加collation_server=utf8_general_cicharacter_set_server=utf8default-storage-engine=INNODB在[client]下添加(如果没有[client],则创建[client])[client]default_character-set=utf8

重启mysql服务

systemctl  restart mysqld

登录mysql

mysql -u root -p 123456

输入show variables like ‘character_set_%’; 可查看编码

mysql> show variables like 'character_set_%';+--------------------------+----------------------------+| Variable_name            | Value                      |+--------------------------+----------------------------+| character_set_client     | utf8                       || character_set_connection | 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/ |+--------------------------+----------------------------+8 rows in set (0.02 sec)

5.9 授权无主机登录

进入mysql交互模式

mysql -u root -p

执行以下命令

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)

sql命令解释:

123456是密码*.* 表示所有数据库下的所有表'root'@'%' 表示所有主机的root

5.9.1 如果设置无主机登录报错

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

原因是因为密码设置的过于简单, MySQL有密码强度校验(密码设置时必须包含大小写字母、特殊符号、数字,并且长度大于8位)

解决办法: 必须修改两个全局参数(临时的更改配置,如果重新进入mysql,需要重新设置)

1)修改validate_password_policy参数的值(0 or LOW / 1 or MEDIUM / 2 or STRONG)

mysql> set global validate_password_policy=0;

2)修改密码的长度

mysql> set global validate_password_length=1;

3)重新执行命令

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)

5.10 安装成功

至此安装配置成功

转载地址:http://oduzi.baihongyu.com/

你可能感兴趣的文章
redhat 9 下sqlite 3的安装及编程
查看>>
两个同步表的字段复制.Oracle.
查看>>
windows MySQL 报“Got a packet bigger than 'max_allowed_packet' bytes”错误,解决过程.
查看>>
在Redhat9下静态编译glib库.
查看>>
CImg库编译使用.
查看>>
SQL Server循环执行动态SQL语句.
查看>>
ubuntu10.4网卡名由eth0改为eth4,导致获得不了IP地址.解决方法.
查看>>
CheckPoint关键词做字段名使用.
查看>>
Qt QSplitte分割器使用(用户手动改变窗口大小)
查看>>
Qt动态加载动态库
查看>>
java8新特性
查看>>
git clone时RPC failed; curl 18 transfer closed with outstanding read data remaining
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)
查看>>
maven中jar、war、pom的区别
查看>>
maven之pom.xml配置文件详解
查看>>
java基础学习之抽象类与接口的区别
查看>>
java基础学习之包、类、方法、属性、常量的命名规则
查看>>
java基础知识学习之匿名内部类
查看>>
SSM框架和SSH框架的区别
查看>>
Elasticsearch-基础介绍及索引原理分析
查看>>