当前位置:   article > 正文

Linux(centos7)安装MySQL_linux centos7云服务器安装mysql

linux centos7云服务器安装mysql

        MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS即关系数据库管理系统(Relational Database Management System)的特点:

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

1、环境准备

服务器:HECS云服务器

系统版本:centos7

2、安装

2.1 卸载MariaDB

原因:以前的Linux系统中数据库大部分是mysql,不过自从被sun收购之后,就没集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。

2.1.1 查看版本

  1. rpm -qa|grep mariadb
  2. rpm -qa|grep mysql

 2.1.2 卸载并检查是否卸载干净

  1. # rpm -e --nodeps 文件名
  2. rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  3. rm -rf /etc/my.cnf
  4. rpm -qa|grep mariadb
  5. rpm -qa|grep mysql

2.2 安装MySQL

2.2.1 下载

下载最新版本:MySQL :: Download MySQL Community Server

 2.2.2 安装

第一步:将下载好的tar包上传到服务器,并解压

tar -xvf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar

解压之后包含以下文件

第二步:rpm安装

rpm -Uvh --force --nodeps *.rpm

2.2.3 mysql配置文件更改(非必须)

注:如需更改mysql存储位置和忽略大小写设置需要在初始化前执行

  1. [mysqld]
  2. port=3306
  3. datadir=/var/lib/mysql
  4. socket=/var/lib/mysql/mysql.sock
  5. log-error=/var/log/mysqld.log
  6. pid-file=/var/run/mysqld/mysqld.pid
  7. log-queries-not-using-indexes = 1
  8. slow_query_log = 1
  9. general_log = 1
  10. wait_timeout=28800
  11. max_connections=5000
  12. max_allowed_packet=1000M
  13. # sqlmode配置
  14. sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
  15. # 忽略大小写
  16. lower_case_table_names=1

2.2.4 常用命令

  1. # 查看状态
  2. systemctl status mysqld
  3. # 启动
  4. systemctl start mysqld
  5. # 停止
  6. systemctl stop mysqld
  7. # 重启
  8. systemctl restart mysqld

2.2.5 服务初始化

关闭权限认证: 

setenforce 0

查看服务状态:

systemctl status mysqld

停止服务:  

systemctl stop mysqld

 安装依赖:

yum install -y libaio

若缺失以上依赖,初始化mysql会出现以下报错: 

初始化数据库:

mysqld --initialize --console

 目录授权:

chown -R mysql:mysql /var/lib/mysql/

服务启动:

systemctl start mysqld

3、配置

3.1 查看临时密码

cat /var/log/mysqld.log

 3.2 用临时密码登录数据库

mysql -u root -p

 输入密码直接回车即可,密码不会显示出来

 3.3 修改密码

alter USER 'root'@'localhost' IDENTIFIED BY '123456';

3.4 授权远程登录

  1. show databases;
  2. use mysql;
  3. select host, user, authentication_string, plugin from user;

  1. update user set host = '%' where user='root';
  2. select host, user, authentication_string, plugin from user;
  3. flush privileges;

 3.5 放行3306端口

  1. firewall-cmd --zone=public --add-port=3306/tcp --permanent
  2. firewall-cmd --reload

云服务器在安全组中配置放行规则即可。

3.6 异常情况

若使用navicat远程连接出现:2059 - Authenticationplugin‘caching_sha2_password’ cannot be loaded:XXXXX。

解决办法:

  1. mysql -u root -p
  2. use mysql;
  3. alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  4. flush privileges;

注:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决问题方法有两种:
方法1.升级navicat驱动;
方法2.把mysql用户登录密码加密规则还原成mysql_native_password.。
此处我使用的是方法2。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/981827
推荐阅读
相关标签
  

闽ICP备14008679号