一、安装mysql yum源

    上一篇简要介绍了图数据库的一些基本内容(初识SQL Server2017
图数据库(一)),本篇通过对比关系型一些语法来体现图数据库模式的一些优点,比如查询方便,语句易理解等。

前面的话

  对于前端工程师来说,数据库并不是主要技能点,但是基本的增删改查操作还是需要了解的。小火柴将mysql数据库的学习记录整理如下

 

从官网下载mysql最新的yum源的rpm安装包

在图数据库模型上构建查询的优势:

目录

  
 前端学数据库之基础操作

  前端学数据库之数据类型

  前端学数据库之数据表操作

  前端学数据库之记录操作

  前端学数据库之中文乱码

  前端学数据库之子查询

  前端学数据库之多表操作

  前端学数据库之函数

  前端学数据库之存储

  前端学数据库之数据库设计

澳门微尼斯人手机版, 

澳门微尼斯人手机版 1

T-SQL
带给图表查询一些新的语法。在SELECT语句中我们有一些特殊的语句来关联点和边。让我们来演练一些,构建查询语句检索发帖和回复,如下:

 

  1. 我们检索每个记录的两个部分,发帖和回复,因此我们需要在FROM子句中引用两次ForumPosts’表,这个地方可以采用一些有意义的别名:
wget http://repo.mysql.com//mysql57-community-release-el6-9.noarch.rpm

    

使用yum安装rpm包

FROM dbo.ForumPosts ReplyPost, dbo.ForumPosts RepliedPost
yum install mysql57-community-release-el6-9.noarch.rpm

 

检测mysql yum源

  1. 尽管我们能选择任何别名,但是在处理图对象时最好选择有意义的名字。
  2. 我们需要“posts”之间的关系,而这个关系就是表Reply_to’。语法如下:
yum repolist enabled | grep "mysql.*-community.*"

    

二、从mysql yum源中选择mysql安装版本

FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost

1、查看mysql yum仓库的资源

 

yum repolist all | grep mysql
  1. 在WHERE
    子句中,我们需要关联所有的表,用下面这种MATCH语句来实现关联:

    FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost

    WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost)

2、修改msql
yum源配置中的 enabled选项,如要安装mysql5.8,将mysql57-community中的enabled=1修改为enabled=0

 

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  1. 这个语法很有意思:“-”破折号表示边的$From_id字段表示关系,然后“->”破折号和大于号用边的$To_id字段表示关系。
  2. 因为知道那个别名有reply,那个别名有replied
    post,我们可以构建一个查询字段列表:

    FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost

    WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost)

   将mysql80-community中enabled=0修改为enabled=1

 

# Enable to use MySQL 8.0
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  1. 在关系型模型中相同功能的查询如下:

3、查看当前yum源可以安装的版本

select RepliedPost.PostId,RepliedPost.PostTitle,

   ReplyPost.PostId as ReplyId, ReplyPost.PostTitle as ReplyTitle

  from Forum.ForumPosts ReplyPost, Forum.ForumPosts RepliedPost

  where ReplyPost.PostId=RepliedPost.ReplyTo
yum repolist enabled | grep mysql

 

三、安装mysql

  1. 这些查询很相似,当然MATCH的语法更容易理解。
  2. 执行完上面语句查询结果如下:
yum install mysql-community-server

 澳门微尼斯人手机版 2

四、启动mysql服务器     

  1. 我们加上写这个回复贴人的名字。需要在FROM子句中添加‘ForumMembers’节点和‘Written_By’这个边。语句如下:

    FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost, dbo.ForumMembers RepliedMember, Written_By RepliedWritten_By

service mysqld start

 

mysql启动过程中,会自动进行以下操作:

  1. 还要添加MATCH语句的内部关系:

1、初始化msql

WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost-(RepliedWritten_by)->RepliedMember)

2、一个SSL证书和密钥文件在数据目录中生成(/var/lib/mysql)。

 

3、 validate_password
plugin 被安装

  1. 这就可以在SELECT列表中添加回帖人的名字,最终的查询如下:

4、一个超级用户帐号'root'@'localhost 被创建,并且会为帐号生成随机密码,随机密码存储在错误日志文件里面。要显示它,使用以下命令:

-- Posts 、members 和replies

   SELECT RepliedPost.PostId,RepliedPost.PostTitle,RepliedMember.MemberName,

   ReplyPost.PostId as ReplyId, ReplyPost.PostTitle as ReplyTitle

      FROM dbo.ForumPosts ReplyPost, dbo.Reply_to, dbo.ForumPosts RepliedPost,

        dbo.ForumMembers RepliedMember, Written_By RepliedWritten_By

   WHERE MATCH(ReplyPost-(Reply_to)->RepliedPost-(RepliedWritten_by)->RepliedMember)
grep 'temporary password' /var/log/mysqld.log

 

在安装完成后应尽快使用刚才生成的随机密码登录mysql,然后修改超级用户帐号密码  

  1. 在关系型模型中的对应查询如下:

    SELECT RepliedPost.PostId,RepliedPost.PostTitle,

    ReplyPost.PostId as ReplyId, ReplyPost.PostTitle as ReplyTitle,

    RepliedMember.MemberName

    FROM Forum.ForumPosts ReplyPost, Forum.ForumPosts RepliedPost,

    Forum.ForumMembers RepliedMember

    WHERE ReplyPost.PostId=RepliedPost.ReplyTo

        and RepliedPost.OwnerId=RepliedMember.MemberId
    
shell> mysql -uroot -p 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

 

 

  1. 结果如下所示:

发表评论

电子邮件地址不会被公开。 必填项已用*标注