设为首页 收藏本站
查看: 741|回复: 0

[经验分享] 在CentOS7.5上安装MySQL(5.7版本),掌握MySQL基本操作。

[复制链接]

尚未签到

发表于 2018-10-2 09:57:58 | 显示全部楼层 |阅读模式
当今主流数据库概略:
  

    在数据库技术日益发展的今天,主流数据库代表着成熟的数据库技术。了解常用数据库,就能知道数据库技术发展的程度,以及未来的大体方向。  数据库分关系型数据库和非关系型数据库。
  关系型数据库:基于关系模型的数据库系统,是关系模型应用到数据库领域的实例化。它的基本概念来自于关系模型。市场上主流商业关系型数据库有SQL Server、Oracle、IBM DB2、MySQL等
  非关系型数据库:也称作NoSQL(Not Only SQL),存储数据不以关系模型为依据,不需要固定的表格式。非关系型数据库作为关系型数据库的一个补充,在日益快速发展的网站时代,发挥着高效率与高性能。常用的非关系型数据库如Memcached、Redis、MongoDB、HBase等。
  非关系型数据库的优点:1.数据库高并发读写的需求。2.对海量数据高效率存储于访问。3.数据库的高扩展性于高可用性的需求。
  

MySQL数据库简介:
  

MySQL是一个关系型数据库管理系统,现已被Oracle公司收购。MySQL运行与Linux操作系统之上,Apache和Nginx作为web服务器,MySQL作为后台数据库,PHP/Perl/Python作为脚本解释器。这四款软件都是免费或开源的,也就是说企业可以不花一分钱(除人工外)就能建立起一个稳定、高速的网站系统,业内称为“LNMP”组合。因此,其以体积小、速度快、开源等特点,霸占了中小型网站相当大的市场。  

MySQL 的编译安装过程:

安装准备:
  1·源码包:mysql-5.7.17.tar.gz
  2·源码包:boost_1_59_0.tar.gz
  3·源码安装 MySQL 需要 cmake 来编译安装。
  4· MySQL 5.7 版本需要 boost 库来支撑,所以 boost 这个库必须下载,源码编译安装的时候需要指定 boost 库的位置。

接下来进行安装实验:

首先yum安装环境包:
  yum -y install \
  gcc \
  gcc-c++ \
  ncurses \
  ncurses-devel \
  bison \
  cmake
  安装完成:
DSC0000.jpg


为了加强数据库的权限控制,建议使用专门的 MySQL 运行用户,不需要登陆系统,也不需要创建家目录:
  useradd -s /sbin/nologin  mysql

利用WinSCP工具将mysql-5.7.17.tar.gz  、boost_1_59_0.tar.gz拖到CentOS7中,然后解压到/opt下:
  tar zxvf mysql-5.7.17.tar.gz -C /opt/
DSC0001.jpg


解压 boost_1_59_0.tar.gz 到 /usr/local 下 并重命名 为boost, 为了之后cmake的时候方便指定boost 库的位子:
  tar zxvf boost_1_59_0.tar.gz -C /usr/local/
  cd /usr/local/
  mv boost_1_59_0 boost

切换到/opt/mysql-5.7.17/下 Cmake 开始配置:
  cmake \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \          指定讲数据库安装在什么位子
  -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  -DSYSCONFDIR=/etc \       指定初始化参数文件目录
  -DSYSTEMD_PID_DIR=/usr/local/mysql \    指定PID 文件位置
  -DDEFAULT_CHARSET=utf8  \       指定默认的字符集编码
  -DDEFAULT_COLLATION=utf8_general_ci \       指定字符集校对规则
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  -DMYSQL_DATADIR=/usr/local/mysql/data \    指定 MySQL 数据库的存放位子
  -DWITH_BOOST=/usr/local/boost \     指定 boost 库在什么位子,5.7版本必须添加这个参数。
  -DWITH_SYSTEMD=1

报错注意:
  如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧。

接下来make && make install进行安装,安装完成之后还需进行其他的操作配置。

MySQL安装完成后,对数据库目录权限调整,并建立配置文件、加入以下内容:
  chown -R mysql.mysql /usr/local/mysql/
  vi /etc/my.cnf
  [client]
  port = 3306
  default-character-set=utf8
  socket = /usr/local/mysql/mysql.sock
  [mysql]
  port = 3306
  default-character-set=utf8
  socket = /usr/local/mysql/mysql.sock
  [mysqld]
  user = mysql
  basedir = /usr/local/mysql
  datadir = /usr/local/mysql/data
  port = 3306
  character_set_server=utf8
  pid-file = /usr/local/mysql/mysqld.pid
  socket = /usr/local/mysql/mysql.sock
  server-id = 1
  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

修改配置文件 /etc/my.cnf 的管理用户:
  chown mysql:mysql /etc/my.cnf

为了方便在任何目录下使用 MySQL 命令,需在 /etc/profile 设置环境变量:
  echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
  echo 'export PATH' >> /etc/profile
  source /etc/profile

初始化数据库:
  cd /usr/local/mysql/
  bin/mysqld \
  --initialize-insecure \
  --user=mysql \
  --basedir=/usr/local/mysql \
  --datadir=/usr/local/mysql/data

添加系统管理,在CentOS7操作系统中通过systemctl进行管理,并启动 MySQL  查看端口:
  cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
  systemctl daemon-reload
  systemctl start mysqld
  netstat -anpt | grep 3306

接下来可以登录MySQL了
  mysql -u root -p 登录

接下来我将MySQL数据库的一些基本操作整理示下:
  show databases;                                 //查看有哪些数据库
  show global variables like 'port';           //首先是查看mysql数据库的端口号
  create database school;   //创建数据库
  use school;                  //进入数据库
  create table info (id int not null primary key auto_increment,name char(10) not null,score decimal(5,2),hobby int(2));      //写入表结构
  desc info;           //查看表结构
  show tables;                 //查看myschool中的表
  select from info;            //查看表中的数据
  Insert into info (id,name,score) values (5,’tianqi’,55);     //插入数据 列内容
  Insert into info (id,name,score) values (5,’tianqi’,null);     //插入数据 列内容

  select  form info where>
  update info set score=75 where>  delete from info where name=’test’;      //删除信息(删除整行)
  select from info where 1=1 order by score asc;    //(给成绩score)排序(升序asc、降序desc)
  select  from info inner join hob where info.hobby=hob.id;    //多表查询
  select info.name,info.score,hob.hobname from info inner join hob where info.hobby=hob.id;  //查询制定列
  select i.name,i.score,h.hobname from info i inner join hob h where i.hobby=h.id; //别名查询
  create table infos select i.name,i.score,h.hobname from info i inner join hob h where i.hobby=h.id; //把关联查找的结果生成一个新表
  聚合函数:
  统计count()  例如: select count(*) from infos;总共有多少学员   select count(1) from infos;
  平均值avg() 例如:select avg(score) from infos; 成绩的平均值
  //删除数据库  例如:  drop database school;
  //删除表      例如: drop table hobby;

在MySQL本地设置远程登录权限允许客户端登录:

  grant all privileges on . to 'root'@'%'>
然后开一台Windows端进行登录:
  mysql -h 192.168.100.70 -uroot -p   //远程登录,在客户端进行登录 。
  暂时写到这里,后续再继续补充!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-607429-1-1.html 上篇帖子: MySQL(5.7版本)安装 + windows远程连接 Linux MySQL 下篇帖子: Centos6.5 源码搭建MYSQL5.5+MySQL主从复制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表