简介

1·数据库的重要性
2·MySQL 介绍
3·MySQL 安装及注意事项
4·MySQL 数据库的使用
5·Windows 安装MySQL
6·Windows 的 cmd 远程连接 Linux MySQL


·数据库的重要性

1·在很古代的时候就有数据库的诞生,但是它的名字不叫数据库而已。比如说古时候的钱庄,它的账本,就是相当于一个数据库。上面记录着客户的存储信息,非常的重要。如果这账本丢失了,那么就会面临巨大的损失。
2·追溯到现代,就更多了,比如银行,派出所的居民身份信息等,这些都离不开数据库。
3·数据库它可以让杂乱无章的的一些数据、信息保持统一、完整的形式保存,这样使用起来方便很多。让用户很快的能找到自己想要的信息。
4·数据库还可以应用共享,比如:我们购买房子的时候,留下自己的信息,那么机会有装修公司、家具公司等等联系你。这就是说的好听就是共享信息。还有一种说法就是泄露个人隐私,但是这种利大于弊!促进GDP增长。


MySQL 介绍

现今主流的关系数据库有如下几种:
1·SQL server :它是 Microsoft 公司的产品 ,主要用于 windows 上。
2·Oracle :Oracle公式成立于1977年,最开始就是做数据库的,老牌公司。这个数据库现今能适应 70多种操作系统,在全世界都是领先的地位。
3·DB2 : 它属于 IBM 公司,也可以运行在多种操作系统上,这种数据库根据设计了一种可以根据不同平台就可以做出相应的优化。很多大型公司都会用到。
MySQL :它也是一个关系型数据库,现在被 Oracle 公司收购,它与上述的几种大型数据库虽然有不足的地方,但是因为它可以运行在 Linux 上,用 Apache 或 Nginx 作为 Web 服务器,Mysql 作为后台数据库,PHP作为脚本解释器,可以搭建 LAMP 架构。这几款软件都是免费或开源的,而且体积小、速度快,占据了大量的市场。


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 库的位子。
5·在我的百度网盘上存放了两个源码包,有需要的可以下载:MySQL 5.7 源码包 密码是:e8ie


MySQL 的编译安装

1·安装新的编译环境

[root@localhost ~]# yum -y install \
ncurses \
ncurses-devel \
bison \
cmake \
gcc \
gcc-c++


2·解压 boost_1_59_0.tar.gz 到 /usr/local 下 并重命名 为boost (为了之后cmake的时候方便指定boost 库的位子)

[root@localhost ~]# tar zxvf boost_1_59_0.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv boost_1_59_0 boost


3·为了加强数据库的权限控制,建议使用专门的 MySQL 运行用户,不需要登陆系统,也不需要创建家目录。

[root@localhost ~]# useradd -M -s /sbin/nologin mysql


4·解压 MySQL 5.7 的包,并切换到解压后的源码目录中。

[root@localhost ~]# tar -zxvf mysql-5.7.17.tar.gz -C /opt/
[root@localhost ~]# cd /opt/mysql-5.7.17/


5·Cmake 开始配置

[root@localhost mysql-5.7.17]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-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 \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1


6·Cmake 上述配置详解:

-DCMAKE_INSTALL_PREFIX //指定讲数据库安装在什么位子
-DSYSCONFDIR //指定初始化参数文件目录
-DSYSTEMD_PID_DIR //指定PID 文件位置
-DDEFAULT_CHARSET //指定默认的字符集编码
-DDEFAULT_COLLATION //指定字符集校对规则
-DMYSQL_DATADIR //指定 MySQL 数据库的存放位子
-DWITH_BOOST //指定 boost 库在什么位子,5.7版本必须添加这个参数。


7· Cmake 报错解决

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


8· 编译并安装

[root@localhost mysql-5.7.17]# make && make install
MySQL 5.7 这个版本 安装时间非常的长,所以需要耐心的等待,时间长短还是看自身电脑 cpu 的处理速度。
到此安装完成,但是还需要其他的调整


安装后的其他调整

1·对数据库目录权限调整

[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql/


2·建立配置文件、加入以下内容:

[root@localhost ~]# vim /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


3·修改文件 /etc/my.cnf 的管理用户

[root@localhost ~]# chown mysql:mysql /etc/my.cnf


4·为了方便在任何目录下使用 MySQL 命令,需要在 /etc/profile 设置环境变量。

[root@localhost ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile


5·初始化数据库

[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
> 这里执行完成后会生成一个为空的登陆MySQL的密码,之后可以修改!


6·添加系统管理,为了我们的习惯,以便通过systemctl进行管理!

[root@localhost ~]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
[root@localhost ~]# systemctl daemon-reload


7·启动 MySQL 查看端口

[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# netstat -anpt | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 1171/mysqld
MySQL的端口号是3306 启动成功


MySQL 数据库的使用

1·修改登陆 MySQL 登陆密码

[root@localhost ~]# mysqladmin -u root -p password "abc123"
Enter password: //这里直接回车,因为之前初始化数据库时就给了一个空密码
命令解释:给 root 用户修改登陆密码为 “abc123”


2·登陆 MySQL 数据库

[root@localhost ~]# mysql -u root -p
Enter password: //输入修改的密码 “abc123”
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.17 Source distribution

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>


3·现在已经登陆到 MySQL 中,执行以下命令,查看数据库中有哪些库

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema | //这就是第一个库
| mysql | //这是第二个库,依次往下
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)


4·查看库中的表
假如我们查看第一个库 information_schema 中有那些表,执行以下命令:

mysql> use information_schema; //进入 information_schema 库中
mysql> show tables; //查看有那些表,以下信息就是表的信息
+---------------------------------------+
| Tables_in_information_schema |
+---------------------------------------+
| CHARACTER_SETS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
| COLUMN_PRIVILEGES |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_COLUMN_USAGE |
| OPTIMIZER_TRACE |
| PARAMETERS |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
| SCHEMA_PRIVILEGES |
| SESSION_STATUS |
| SESSION_VARIABLES |
| STATISTICS |
| TABLES |
| TABLESPACES |
| TABLE_CONSTRAINTS |
| TABLE_PRIVILEGES |
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
| INNODB_LOCKS |
| INNODB_TRX |
| INNODB_SYS_DATAFILES |
| INNODB_FT_CONFIG |
| INNODB_SYS_VIRTUAL |
| INNODB_CMP |
| INNODB_FT_BEING_DELETED |
| INNODB_CMP_RESET |
| INNODB_CMP_PER_INDEX |
| INNODB_CMPMEM_RESET |
| INNODB_FT_DELETED |
| INNODB_BUFFER_PAGE_LRU |
| INNODB_LOCK_WAITS |
| INNODB_TEMP_TABLE_INFO |
| INNODB_SYS_INDEXES |
| INNODB_SYS_TABLES |
| INNODB_SYS_FIELDS |
| INNODB_CMP_PER_INDEX_RESET |
| INNODB_BUFFER_PAGE |
| INNODB_FT_DEFAULT_STOPWORD |
| INNODB_FT_INDEX_TABLE |
| INNODB_FT_INDEX_CACHE |
| INNODB_SYS_TABLESPACES |
| INNODB_METRICS |
| INNODB_SYS_FOREIGN_COLS |
| INNODB_CMPMEM |
| INNODB_BUFFER_POOL_STATS |
| INNODB_SYS_COLUMNS |
| INNODB_SYS_FOREIGN |
| INNODB_SYS_TABLESTATS |
+---------------------------------------+
61 rows in set (0.00 sec)


5·查看表中有那些数据,这里以第一个表为列

mysql> select * from CHARACTER_SETS;
+--------------------+----------------------+---------------------------------+--------+
| CHARACTER_SET_NAME | DEFAULT_COLLATE_NAME | DESCRIPTION | MAXLEN |
+--------------------+----------------------+---------------------------------+--------+
| big5 | big5_chinese_ci | Big5 Traditional Chinese | 2 |
| dec8 | dec8_swedish_ci | DEC West European | 1 |
| cp850 | cp850_general_ci | DOS West European | 1 |
只显示部分信息。


6·简单命令介绍:

1·创建新的库名为school
create database school;


2·创建新的表 名为 info
creata table info (id int not null primary key auto_increment,name char(20) not null,target not null char(30)); //这里需要定义表格中的各字段


3·更新表中的信息
update info set score=75 where id=6; (更新id=6列中的score=75)


4·删除表中的信息
delete from info where name=‘test’;(删除来自info表中的name=test整行)


5·在表中插入新的数据
insert into info (id,name,score)values(5,‘tianqi’,55);


6·删除表、删除库
drop table info;(删除表)
drop database school;(删除库)


7·退出 MySQL
exit 或者 quit


Windows 安装MySQL

Windows 中安装软件很简单
1·下载安装程序,可以在www.baidu.com 中找。以下是安装步骤
2·在安装 MySQL 之前如果电脑 .NET 版本在4.0 以下建议更新到 4.0 以上
Windows MySQL版本和 .NET 4.5 版本软件包需要的可以在我的百度网盘下载:window版MySQL安装包 密码:agh6





5·下面不需要修改什么,直接根据引导,下一步就能安装成功,打开软件,输入密码。如下图


Windows 的 cmd 远程连接 Linux MySQL

1·远程连接 Linux 中的MySQL,就需要MySQL的授权。执行以下命令授权。

[root@localhost ~]# mysql -u root -p
Enter password: //登陆MySQL 输入你的密码


2·授权

mysql> grant all privileges on . to 'root'@'%' identified by 'abc123' with grant option;
这条命令的意思:
第一个 代表:所有的库
第二个
代表:库中所有的表
root 代表:允许使用 root 用户登陆
@ :分割符号
% :允许所有的网段的人
abc123 :登陆密码是abc123


3·授权成功,但是想要在window中使用MySQL ,还需要把MySQL的命令添加环境变量,使windows 识别 MySQL命令。

1·在window中找到MySQL的命令存放的位子


2·把MySQL的命令添加环境变量,添加时需要额外注意,还需要以分号(;)隔开!


3·打开 cmd 验证远程登陆效果


总结

1·在源码编译的时候需要 boost 这个库,否则会报错。这里需要注意
2·如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧会存在
3·安装window版MySQL时需要 .NET 版本在4.0以上
4·在cmd 远程连接MySQL时需要添加环境变量,否则window不识别MySQL命令
5·添加环境变量需要特别注意别多了字符或删除了字符,没把握的先把原本的路径都复制下来,这样有错的话还可以恢复!

转载于:https://blog.51cto.com/13746824/2163787

MySQL(5.7版本)安装 + windows远程连接 Linux MySQL相关推荐

  1. 远程连接linux mysql数据库

    创建具有远程连接权限的用户 create user username@'%' identified by password 修改mysql的配置文件 /etc/mysql/mysql.conf.d/m ...

  2. Linux下Mysql 5.7的安装及远程连接配置

    记得以前写过一篇Linux下安装mysql及其常见问题和配置的博客,但是最近两天在一台云主机上安装mysql的时候遇到了诸多问题,为了方便自己日后查阅也为了不再让后来者掉入同样的坑以致浪费太多的时间我 ...

  3. 零基础Linux版MySQL源码方式安装+配置+远程连接完整图解 无坑实录

    无论开发还是运维,项目环境搞不定,还真让你干不成活,MySQL在不同场景.不同平台下安装方式也不同,本次主要分享centos7下MySQL源码rpm方式安装,其它方式后续分享,很多项目还都用着MySQ ...

  4. linux安装tightvnc_用windows远程连接linux桌面(使用tightvnc或者tigervnc)

    一.安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2.编译 执行如下两个命令: [root@local ...

  5. mysql忘记了密码、允许远程连接、mysql卸载 -- linux

    [root@mytestlnx02 ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'r ...

  6. TeamViewer挂了?用这几种方式依然可以实现Windows远程连接Linux

    1. 引言 之前每次听到有人说自己的TeamViewer账号被莫名奇妙的鉴定为商用,连接受限制的时候,我都会说一句:"我的账号用了这么长时间了,怎么一点问题都没有?" .然而,在我 ...

  7. 5款免费Windows远程连接Linux桌面软件(VNC客户端)

    第一.VNC Viewer(http://www.laozuo.org/1382.html) 这款VNC Viewer老左之前有介绍过"VNC Viewer远程连接Windows VPS主机 ...

  8. 智能所实验室环境配置【Windows远程连接Linux服务器/VScode+Anaconda】【详细教程】

    前言 此文写给实验室的学弟学妹们,以便快速配置环境少踩坑.计算资源是公共资源,学长学姐有自己的研究任务,无法像企业运维人员那样周到的看护服务器,服务器的稳定运行有赖于每个使用者合理使用.菜,是原罪(推 ...

  9. linux安装tightvnc_windows远程连接linux桌面---使用tightvnc或者tigervnc

    一.安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2.编译 执行如下两个命令: [root@local ...

最新文章

  1. ASP.NET 程序中常用的三十三种代码(9)
  2. jfoenix jdk8 pom依赖
  3. (十七)linux网络命令 vconfig ifconfig
  4. P4640-[BJWC2008]王之财宝【OGF,Lucas定理】
  5. Java中的HashSet
  6. 《python网络数据采集》读后感 第六章:读取文档
  7. MySQL之TCL(事务控制)语句
  8. mysql工具——mysqlcheck(MYISAM)
  9. 【游戏开发】卡牌游戏战斗系统设计与实现
  10. oj刷题 Problem J: 软件工程
  11. Spring boot 搭建个人博客系统(六)——文章点击量和阅读排行榜
  12. 波士顿大学 计算机专业,波士顿大学计算机工程类专业排名还是该小心的看
  13. 简化3D渲染和动画制作丨上海道宁为您带来强大的3D渲染软件——KeyShot
  14. BGP选路规则(实验做的有点乱)
  15. 基于matlab 非局部均值(NLM)滤波图像去噪
  16. [论文阅读笔记40]recall与rank相结合的多视角中文过程术语标准化
  17. 微信小程序获取手机号,java后台
  18. 点击高德地图标注没法弹窗_巴彦淖尔果农注意啦!林草局喊你上高德地图标注位置哦...
  19. 动态头像 Android 实现,Android开发中实现一个头像滑动变大变小功能
  20. Luedecke LPH-23

热门文章

  1. 百度网盘批量修改文件名称之随机名称(六)
  2. 天津博物馆一级文物——西周夔纹铜禁
  3. 教你快速输入六角符号
  4. 缘木或可求鱼——Leo的MVB获奖感言
  5. 幽你一默:江湖上流传只有程序猿才懂的幽默
  6. fastadmin Tinymce编辑器配置首行缩进
  7. Android底部动画弹窗Dialog
  8. 斐波那契数列(C语言版)
  9. SOHO路由器处理能力
  10. WEB--js点击事件写法