安装MySQL yum源安装与手工编译安装【内附5.7版本官网下载路径和5.7版本源码包】

Centos 7——安装MySQL #两种安装,两种密码设定,以及 远程链接(新手详解)



------------------MySQL数据库概述---------------------前端

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,mysql

每一个数据库都有一个或多个不一样的API用于建立,访问,管理,搜索和复制所保存的数据。sql

咱们也能够将数据存储在文件中,可是在文件中读写数据速度相对较慢。数据库

因此,如今咱们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。编程

RDBMS即关系数据库管理系统(Relational Database Management System)的特色:windows

  • 1.数据以表格的形式出现服务器

  • 2.每行为各类记录名称网络

  • 3.每列为记录名称所对应的数据域数据结构

  • 4.许多的行和列组成一张表单socket

  • 5.若干的表单组成database


MySQL数据库

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不一样的表中,而不是将全部数据放在一个大仓库内,这样就增长了速度并提升了灵活性。

  • MySQL 是开源的,因此你不须要支付额外的费用。

  • MySQL 支持大型的数据库。能够处理拥有上千万条记录的大型数据库。

  • MySQL 使用标准的SQL数据语言形式。

  • MySQL 能够运行于多个系统上,而且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

  • MySQL 对PHP有很好的支持,PHP是目前最流行的Web开发语言。

  • MySQL 支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。

  • MySQL 是能够定制的,采用了GPL协议,你能够修改源码来开发本身的 MySQL 系统。



------------------准备工做-------------------

第一种手工编译安装: 5.7版本源码包

百度网盘:连接:https://pan.baidu.com/s/1YusglC6yp-6tJ3vtGdvhww 密码:wwtc


Windows系统MySQL安装包:

百度网盘:连接:https://pan.baidu.com/s/1uAODxBNYk0hwTPqwyeKCfg 密码:scqp


第二种 yum源安装:

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了须要,仍是要在系统中安装MySQL,并且安装完成以后能够直接覆盖掉MariaDB。

(因为yum源上没有mysql-server。因此必须去官网下载,这里 咱们用wget命令,直接获取)wget -i -c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm


----------------MySQL手工编译安装-------------------

1.下载安装环境包

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake


2.建立mysql用户

useradd -s /sbin/nologin  mysql


3.建立挂载点,进行挂载。

mkdir /abc
mount.cifs //172.16.10.100:/mysql /abc

PS:由于是虚拟机实验环境,挂载宿主机共享文件请参考https://blog.51cto.com/13767783/2155747


4查看下是否挂载成功,里面的压缩包

[root@localhost /]# cd /abc/mysql
[root@localhost mysql]# ls
boost_1_59_0.tar.gz  mysql-5.7.17.tar.gz  mysql-boost-5.7.20.tar.gz


 

5.解压缩文件

tar zxvf mysql-5.7.17.tar.gz -C /opt/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/

cd /usr/local/
mv boost_1_59_0 boost


6.到mysql-5.7.17文件中,进行cmake

cd /opt/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


------注意:若是在CMAKE的过程当中有报错,当报错解决后,须要把源码目录中的CMakeCache.txt文件删除,而后再从新CMAKE,不然错误依旧------------



7.编译安装

make && make install 



8.更改mysql的属主属组为mysql,便于管理执行

cd /usr/local/
chown -R mysql.mysql /usr/local/mysql/

1


9.修改mysql配置文件

vi /etc/my.cnf

2

详解:

[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]区域的所有配置内容,替换为下面

3

详解:

[mysqld]                                                          #mysqld区域配置
user = mysql                                                    #用户为mysql
basedir = /usr/local/mysql                            #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          #链接3306端口的套接口文件
server-id = 1                                                        #服务器标识号


#插入sql模式内容

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

4

修改完成后保存退出 。


10.修改mysql配置文件的属主属组

chown mysql:mysql /etc/my.cnf

5


11.追加环境变量文件

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile

6

使系统环境变量生效

source /etc/profile

7


12.初始化数据库操做
cd /usr/local/mysql/


#5.7版本典型的初始化,生成一个空的密码,下面是指定用户,指定文件路径,指定数据文件路径。

bin/mysqld \
--initialize-insecure \    
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data



13.使mysql.service可以被系统所识别和管理

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

9

开启服务,刷新使系统可以识别

systemctl daemon-reload
systemctl start mysqld


14.

systemctl enable mysqld    #开机自启动

netstat -anpt | grep 3306   #查看服务端口是否开启

10


15.给root用户设置密码abc123

mysqladmin -u root -p password "abc123"       #给root帐号设置密码为abc123提示输入的是原始密码。

#由于以前初始化时设置的是空密码,直接回车就好,下面的Warning是由于密码过于简单,由于是实验,因此不要紧。

11


16登陆mysql

mysql -u root –p

12

安装成功,登录成功。


------------------------受权远程登陆----------------------

在MySQL服务器中输入命令:

grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;

#提高权限做用在第一个   * (表示是全部数据库) 第二个 * (表示是全部表)root(帐户) @(表明的是分割符)% (表明全部IP,网络终端)identified by“abc123”(赋予的密码)


在客户端Windows系统:

首先须要安装mysql

PS:
若是想要使得Windows系统中CMD命令字符界面识别mysql命令操做的话
步骤以下,复制mysql文件的bin文件路径,复制到个人电脑属性高级设置的系统环境变量中,找到PATH ,打开后,在path路径的最前端复制加入以前mysql文件的bin文件路径,路径后面,% 分割号前面加英文输入法格式下的 ;  ,点击完成便可在cmd中操做mysql。


windows系统远程链接:mysql -h 【mysql数据库服务器的地址】-u root –p            #远程登陆mysql数据库 服务器

便可在Windows远程链接



 -----------------MySQL  yum源安装方法---------------------

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了须要,仍是要在系统中安装MySQL,并且安装完成以后能够直接覆盖掉MariaDB。

一、安装mysql

(因为yum源上没有mysql-server。因此必须去官网下载,这里 咱们用wget命令,直接获取)wget -i -c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

二、安装mysql的依赖包

yum -y install mysql57-community-release-el7-10.noarch.rpm
如何在Centos7下安装MySQL5.7

三、安装mysql数据库

yum -y install mysql-community-server
如何在Centos7下安装MySQL5.7
如何在Centos7下安装MySQL5.7

四、完成安装,重启mysql

systemctl restart mysqld
如何在Centos7下安装MySQL5.7
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,经过以下命令能够在日志文件中找出密码:
grep "password" /var/log/mysqld.log
如何在Centos7下安装MySQL5.7

五、复制粘贴上边的密码进入数据库

mysql -uroot -p
如何在Centos7下安装MySQL5.7
输入初始密码,此时不能作任何事情,由于MySQL默认必须修改密码以后才能操做数据库修改密码命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
如何在Centos7下安装MySQL5.7

六、解决报错

以上报错是说新设置的密码过于简单,解决方式:
//首先按照默认密码格式复杂度更改
如何在Centos7下安装MySQL5.7

七、查看MySQL完整的初始密码规则

查看MySQL完整的初始密码规则,查看的前提是必须先用ALTER USER命令更改过密码(SHOW VARIABLES LIKE 'validate_password%';),
如何在Centos7下安装MySQL5.7
如何在Centos7下安装MySQL5.7
如何在Centos7下安装MySQL5.7
注:密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

八、修改MySQL默认策略和密码长度

1)修改密码策
由于当前的密码太复杂不方便后期作实验,因此使用命令修改密码策略两种方式:
mysql> set global validate_password_policy=0;
如何在Centos7下安装MySQL5.7
mysql> set global validate_password_policy=LOW;
如何在Centos7下安装MySQL5.7
注:密码策略分四种
一、OFF(关闭) 二、LOW(低) 三、MEDIUM(中) 四、STRONG(强)

2)修改密码长度
上边改完策略以后咱们在改长度 mysql> SET GLOBAL validate_password_length=4;
如何在Centos7下安装MySQL5.7

九、查看密码规则

都改完以后查看密码规则mysql> SHOW VARIABLES LIKE 'validate_password%';
如何在Centos7下安装MySQL5.7

十、改成简单密码

接下来就能够将刚才的复杂密码改成简单的四位的密码了;
如何在Centos7下安装MySQL5.7

十一、卸载安装源自动更新

此时还有一个问题,就是由于安装了Yum Repository,之后每次yum操做都会自动更新,由于当前数据库已安装完成,因此把这个卸载掉:
yum remove mysql57-community-release.noarch
如何在Centos7下安装MySQL5.7

十二、初始化数据库

mysql_secure_installation
如何在Centos7下安装MySQL5.7
如何在Centos7下安装MySQL5.7
如何在Centos7下安装MySQL5.7注:执行完初始化命令后须要输入数据库root用户密码,而后默认如上截图一路回车便可。(以上截图问题也可根据本身实际状况进行选择)

相关文章
相关标签/搜索