百度云CentOS 7.0(7.0.1406)下载合集

CentOSliuliangsong 发表了文章 • 0 个评论 • 414 次浏览 • 2016-11-02 20:33 • 来自相关话题

  CentOS 7.0(7.0.1406)百度云下载,都是64位的,现在官方只发布了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:CentOS-7.0-1406-x86_64-DVD.iso(DVD版标准版)CentOS-7.0-1406-x86_64-Everything.iso(完整版)CentOS-7.0-1406-x86_64-GnomeLive.iso(GNOME桌面版)CentOS-7.0-1406-x86_64-KdeLive.iso(Kde桌面版)CentOS-7.0-1406-x86_64-livecd.iso(光盘运行版,这个百度云禁止分享)CentOS-7.0-1406-x86_64-Minimal.iso(精简版)CentOS-7.0-1406-x86_64-NetInstall.iso(网络安装版)
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1nu7VYvZ
x百度云下载地址二:CentOS 7.0下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx 查看全部
  CentOS 7.0(7.0.1406)百度云下载,都是64位的,现在官方只发布了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:
  • CentOS-7.0-1406-x86_64-DVD.iso(DVD版标准版)
  • CentOS-7.0-1406-x86_64-Everything.iso(完整版)
  • CentOS-7.0-1406-x86_64-GnomeLive.iso(GNOME桌面版)
  • CentOS-7.0-1406-x86_64-KdeLive.iso(Kde桌面版)
  • CentOS-7.0-1406-x86_64-livecd.iso(光盘运行版,这个百度云禁止分享)
  • CentOS-7.0-1406-x86_64-Minimal.iso(精简版)
  • CentOS-7.0-1406-x86_64-NetInstall.iso(网络安装版)

 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1nu7VYvZ
x百度云下载地址二:CentOS 7.0下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx

CentOS7中查看系统版本信息

CentOSliuliangsong 发表了文章 • 0 个评论 • 1353 次浏览 • 2016-11-02 12:46 • 来自相关话题

1、使用“cat /etc/redhat-release”命令查看操作系统详细发行版本号:[root@aiezu.com ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) 
2、版本号和位数:[root@aiezu.com ~]# rpm -q centos-release
centos-release-7-2.1511.el7.centos.2.10.x86_64 
3、“cat /proc/version”命令:[root@aiezu.com ~]# cat /proc/version
Linux version 3.10.0-327.36.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Mon Oct 24 16:09:20 UTC 2016 
4、使用“lsb_release”命令:[root@aiezu.com ~]# yum -y install redhat-lsb
[root@aiezu.com ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core 
5、使用“cat /etc/os-release”命令:[root@aiezu.com ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7" 
6、使用“uname”命令查看内核版本:[root@aiezu.com ~]# uname -a
Linux aiezu.com 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 查看全部
1、使用“cat /etc/redhat-release”命令查看操作系统详细发行版本号:
[root@aiezu.com ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
 
2、版本号和位数:
[root@aiezu.com ~]# rpm -q centos-release
centos-release-7-2.1511.el7.centos.2.10.x86_64
 
3、“cat /proc/version”命令:
[root@aiezu.com ~]# cat /proc/version
Linux version 3.10.0-327.36.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Mon Oct 24 16:09:20 UTC 2016
 
4、使用“lsb_release”命令:
[root@aiezu.com ~]# yum -y install redhat-lsb
[root@aiezu.com ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core
 
5、使用“cat /etc/os-release”命令:
[root@aiezu.com ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
 
6、使用“uname”命令查看内核版本:
[root@aiezu.com ~]# uname -a
Linux aiezu.com 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

CentOS 7上如何修改主机名?

CentOSliuliangsong 发表了文章 • 0 个评论 • 404 次浏览 • 2016-11-02 10:47 • 来自相关话题

  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
“静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。“灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。
 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名
二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com
 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6修改为:127.0.0.1 aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#2、hostname命令:[root@aiezu ~]# hostname
aiezu.com3、“/etc/hostname”文件:[root@aiezu ~]# cat /etc/hostname
aiezu.com 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:hostnamectl set-hostname aiezu.com
# su - 查看全部
  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
  • “静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。
  • “瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。
  • “灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。

 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:
hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名

二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。
hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%
从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:
#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com

 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
修改为:
127.0.0.1   aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6
 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。
[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#
2、hostname命令:
[root@aiezu ~]# hostname
aiezu.com
3、“/etc/hostname”文件:
[root@aiezu ~]# cat /etc/hostname 
aiezu.com
 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:
hostnamectl set-hostname aiezu.com
# su -

CentOS 7中使用Yum安装MariaDB数据库

CentOSliuliangsong 发表了文章 • 0 个评论 • 899 次浏览 • 2016-11-01 21:34 • 来自相关话题

  自CentOS 7.0起,CentOS中使用MariaDB代替以前版本的MySQL。MariaDB是MySQL的一个分支,由开源社区维护。MariaDB采用GPL授权许可,MariaDB的完全兼容MySQL,包括API、SQL语法、命令行,使之轻松成为MySQL代替品。
 
一、实验环境:操作系统:CentOS 7.0 64位(最小安装)MariaDB版本:系统自带(mariadb-5.5.50-1.el7_2)
 
二、安装前准备:
  爱E族提醒您,安装前需检查是否已经安装了Mysql数据库或者MariaDB数据库,如果已经安装,需先卸载。并需要检查3306端口是否已经被占用:
检查是否安装mysql服务:#检查是否安装mysql
rpm -qa|grep mysql-server
#如果已经安装,则卸载(爱E族aiezu.com)
yum remove mysql
yum remove mysql-server检查是否已安装mariadb:#检查是否安装mariadb
rpm -qa|grep mariadb
#如果已经安装,则卸载
yum remove mariadb-server
yum remove mariadb检查3306端口(MariaDB服务端口)是否已被占有:lsof -i :3306爱E族提醒:如果未来到lsof命令,请运行“yum -y install lsof”安装“lsof”命令;
 
三、开始安装MariaDB:
1、更新系统:
安装前运行“yum -y update”更新下系统是非常有必要的,有利于减少系统漏洞。yum -y update2、安装mariadb数据库:yum -y install mariadb mariadb-server如果一切顺利,mariadb就已经安装好了,下步就是配置mariadb了(爱E族)
 
四、配置MariaDB:
1、启动MariaDB数据库://启动服务
service mariadb start
//查看运行状态(爱E族)
service mariadb status2、设置MariaDB数据库的root密码://设置密码:输入下面命令,回车后输入两次新密码
mysqladmin password
//修改密码:输入下面命令,回车后输入旧密码,再回车输入两次新密码
mysqladmin -p password3、还可以运行“mysql_secure_installation”配置MariaDB,运行命令后,屏幕输出以下内容,要求交互选择“Y/n”,具体的交互包括:1、输入当前密码(默认为空直接回车);2、是否修改当前密码,建议修改;3、是否删除匿名帐号,建议删除;4、是否禁止root帐号远程登录,默认只运行root本机登录,建议禁止,确保安全;5、是否删除“test”数据库,看个人自己选择;6、重新加载表权限,选Y。/usr/bin/mysql_secure_installation:行379: find_mysql_client: 未找到命令

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here(aiezu.com).

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, (http://aiezu.com)and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed! Not critical, keep moving...
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB! 
五、登录数据库:
1、登录到mariadb数据库://运行下面命令,并输入刚才修改的密码
mysql -uroot -p2、添加一个名称为"aiezu"的帐号:--创建一个只允许本机登录的帐号“aiezu”(爱E族),其中“your_password”为帐号的密码;
--如果创建允许远程登录的帐号,请将“localhost”改成“%”
CREATE USER 'aiezu'@'localhost' IDENTIFIED BY 'your_password';
--CREATE USER 'aiezu'@'%' IDENTIFIED BY 'your_password';3、创建一个名称为“aiezu_db”的数据库:create database aiezu_db default character set 'utf8';4、将库“aiezu_db”的所有权限给予用户“aiezu”:--授权给aiezu(aiezu.com)
grant all privileges on aiezu_db.* to 'aiezu'@'localhost';
--刷新权限
flush privileges;5、退出到bash shell,使用创建的用户“aiezu”登录到“aiezu_db”库://输入下面一条命令回车后输入创建用时使用的密码,这里上面使用的是“your_password”
mysql -u aiezu -p
//登录后use aiezu_db 
六、防火墙开启数据库3306端口:
CentOS 7默认防火墙使用的是“firewalld”。运行下面代码,在防火墙“firewalld”中开启公网访问MariaDB数据库3306端口:systemctl restart firewalld
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload 查看全部
  自CentOS 7.0起,CentOS中使用MariaDB代替以前版本的MySQL。MariaDB是MySQL的一个分支,由开源社区维护。MariaDB采用GPL授权许可,MariaDB的完全兼容MySQL,包括API、SQL语法、命令行,使之轻松成为MySQL代替品。
 
一、实验环境:
  • 操作系统:CentOS 7.0 64位(最小安装)
  • MariaDB版本:系统自带(mariadb-5.5.50-1.el7_2)

 
二、安装前准备:
  爱E族提醒您,安装前需检查是否已经安装了Mysql数据库或者MariaDB数据库,如果已经安装,需先卸载。并需要检查3306端口是否已经被占用:
检查是否安装mysql服务:
#检查是否安装mysql
rpm -qa|grep mysql-server
#如果已经安装,则卸载(爱E族aiezu.com)
yum remove mysql
yum remove mysql-server
检查是否已安装mariadb:
#检查是否安装mariadb
rpm -qa|grep mariadb
#如果已经安装,则卸载
yum remove mariadb-server
yum remove mariadb
检查3306端口(MariaDB服务端口)是否已被占有:
lsof -i :3306
爱E族提醒:如果未来到lsof命令,请运行“yum -y install lsof”安装“lsof”命令;
 
三、开始安装MariaDB:
1、更新系统:
安装前运行“yum -y update”更新下系统是非常有必要的,有利于减少系统漏洞。
yum -y update
2、安装mariadb数据库:
yum -y install mariadb mariadb-server
如果一切顺利,mariadb就已经安装好了,下步就是配置mariadb了(爱E族)
 
四、配置MariaDB:
1、启动MariaDB数据库:
//启动服务
service mariadb start
//查看运行状态(爱E族)
service mariadb status
2、设置MariaDB数据库的root密码:
//设置密码:输入下面命令,回车后输入两次新密码
mysqladmin password
//修改密码:输入下面命令,回车后输入旧密码,再回车输入两次新密码
mysqladmin -p password
3、还可以运行“mysql_secure_installation”配置MariaDB,运行命令后,屏幕输出以下内容,要求交互选择“Y/n”,具体的交互包括:1、输入当前密码(默认为空直接回车);2、是否修改当前密码,建议修改;3、是否删除匿名帐号,建议删除;4、是否禁止root帐号远程登录,默认只运行root本机登录,建议禁止,确保安全;5、是否删除“test”数据库,看个人自己选择;6、重新加载表权限,选Y。
/usr/bin/mysql_secure_installation:行379: find_mysql_client: 未找到命令

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here(aiezu.com).

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, (http://aiezu.com)and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed! Not critical, keep moving...
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
 
五、登录数据库:
1、登录到mariadb数据库:
//运行下面命令,并输入刚才修改的密码
mysql -uroot -p
2、添加一个名称为"aiezu"的帐号:
--创建一个只允许本机登录的帐号“aiezu”(爱E族),其中“your_password”为帐号的密码;
--如果创建允许远程登录的帐号,请将“localhost”改成“%”
CREATE USER 'aiezu'@'localhost' IDENTIFIED BY 'your_password';
--CREATE USER 'aiezu'@'%' IDENTIFIED BY 'your_password';
3、创建一个名称为“aiezu_db”的数据库:
create database aiezu_db default character set 'utf8';
4、将库“aiezu_db”的所有权限给予用户“aiezu”:
--授权给aiezu(aiezu.com)
grant all privileges on aiezu_db.* to 'aiezu'@'localhost';
--刷新权限
flush privileges;
5、退出到bash shell,使用创建的用户“aiezu”登录到“aiezu_db”库:
//输入下面一条命令回车后输入创建用时使用的密码,这里上面使用的是“your_password”
mysql -u aiezu -p
//登录后use aiezu_db
 
六、防火墙开启数据库3306端口:
CentOS 7默认防火墙使用的是“firewalld”。运行下面代码,在防火墙“firewalld”中开启公网访问MariaDB数据库3306端口:
systemctl restart firewalld
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

PHP接口类(interface)的特点和应用

PHPliuliangsong 发表了文章 • 0 个评论 • 225 次浏览 • 2016-11-01 12:40 • 来自相关话题

一、接口的定义:
简单形象的说,接口是类的模板,定义实现它的类需要实现哪些功能。

二、接口的特点:
接口通过“interface”关键词来定义;上下级接口可以通过“extends”关键词继承;接口所有方法都是“public”权限(爱E族);接口可以定义常量成员,但不能定义变量成员;类通过“implements”关键词来实现接口,类必须完全实现接口定义的所有功能;一个类可以同时“implements”(实现)一个到多个接口;

三、为什么需要接口:
  PHP 类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此 PHP 引入了类的接口技术。
 
4、举例:
1、定义一个接口:
  早些年的博客网站,都有一个发布文章的功能,比如你现在看到的就是一篇介绍接口的文章,下面我们定义一个文章接口://定义一个文章接口
interface Article {
//接口中有一个发布文章的接口
public function publishArticle();
}还有一些问答网站,有提问功能和回答功能,比如百度知道,爱问知识人:interface Ask {
public function question();
public function answer();

2、接口的继承:
  后来随着社交网络的兴起,很多网站的文章多了一个转发功能,文章模块功能升级了,我们把它叫做文章2.0“Article2”,“Article2”继承了Article的发布文章功能://定义Article2接口,继承Article接口
interface Article2 extends Article {
//Article2接口比Article多了一个转发文章功能(爱E族)
public function relayArticle();

3、接口的实现(接口的应用):
  上面的接口已经定义好了,现在我们要实现接口了,比如就说您现在访问的网站爱E族(aiezu.com)吧,它既有发布文章功能,又有问答功能。所以我们的类Aiezu(爱E族)要同时两个接口:“Article”,“Ask”。//Aiezu(爱E族)类要实现Article(文章)和问答(Ask)接口功能
class Aiezu implements Article,Ask {
public function publishArticle() {
echo "发布了一篇文章\n";
}
public function relayArticle() {
echo "转发了一篇文章\n";
}
public function question() {
echo "发表了一个问题\n";
}
public function answer(){
echo "回答一个问题\n";
}
}
$aiezu = new Aiezu();
$aiezu->relayArticle();
$aiezu->question();注意,Aiezu类必须完全实现“Article”接口和“Ask”接口的所有功能,否则会报告下面错误:PHP Fatal error: Class Aiezu contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Article::publishArticle) in /tmp/xxx.php on line xxx 查看全部
一、接口的定义:
简单形象的说,接口是类的模板,定义实现它的类需要实现哪些功能。

二、接口的特点:
  • 接口通过“interface”关键词来定义;
  • 上下级接口可以通过“extends”关键词继承;
  • 接口所有方法都是“public”权限(爱E族);
  • 接口可以定义常量成员,但不能定义变量成员;
  • 类通过“implements”关键词来实现接口,类必须完全实现接口定义的所有功能;
  • 一个类可以同时“implements”(实现)一个到多个接口;


三、为什么需要接口:
  PHP 类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此 PHP 引入了类的接口技术。
 
4、举例:
1、定义一个接口:
  早些年的博客网站,都有一个发布文章的功能,比如你现在看到的就是一篇介绍接口的文章,下面我们定义一个文章接口:
//定义一个文章接口
interface Article {
//接口中有一个发布文章的接口
public function publishArticle();
}
还有一些问答网站,有提问功能和回答功能,比如百度知道,爱问知识人:
interface Ask {
public function question();
public function answer();
}
 
2、接口的继承:
  后来随着社交网络的兴起,很多网站的文章多了一个转发功能,文章模块功能升级了,我们把它叫做文章2.0“Article2”,“Article2”继承了Article的发布文章功能:
//定义Article2接口,继承Article接口
interface Article2 extends Article {
//Article2接口比Article多了一个转发文章功能(爱E族)
public function relayArticle();
}
 
3、接口的实现(接口的应用):
  上面的接口已经定义好了,现在我们要实现接口了,比如就说您现在访问的网站爱E族(aiezu.com)吧,它既有发布文章功能,又有问答功能。所以我们的类Aiezu(爱E族)要同时两个接口:“Article”,“Ask”。
//Aiezu(爱E族)类要实现Article(文章)和问答(Ask)接口功能
class Aiezu implements Article,Ask {
public function publishArticle() {
echo "发布了一篇文章\n";
}
public function relayArticle() {
echo "转发了一篇文章\n";
}
public function question() {
echo "发表了一个问题\n";
}
public function answer(){
echo "回答一个问题\n";
}
}
$aiezu = new Aiezu();
$aiezu->relayArticle();
$aiezu->question();
注意,Aiezu类必须完全实现“Article”接口和“Ask”接口的所有功能,否则会报告下面错误:
PHP Fatal error:  Class Aiezu contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Article::publishArticle) in /tmp/xxx.php on line xxx

javascript按指定格式将Date对象转换为日期时间字符串

Javascriptliuliangsong 发表了文章 • 0 个评论 • 401 次浏览 • 2016-10-28 22:43 • 来自相关话题

  下面代码将扩展javascript Date对象,为Date对象添加一个format方法,类似于php的date函数,填补了javascript格式日期时间对象功能不足的遗憾://对Date的扩展,将 Date 转化为指定格式的字符串
//年(y)、月(m)、日(d)、星期(w)、小时(h)、分(i)、秒(s)、毫秒(u)
//用法:new Date().format("yyyy-mm-dd hh:ii:ss.u") ==> 2016-10-28 23:17:49.085
Date.prototype.format = function( format ) {
if ( typeof format !== "string" ) format = 'yyyy-mm-dd hh:ii:ss';
function fillZore(num, len) {
while(num.toString().length<len){
num = '0'+num;
}
return num;
}

var Week = ['日','一','二','三','四','五','六'];

format=format.replace(/yyyy|YYYY/,this.getFullYear());
format=format.replace(/yy|YY/, fillZore(this.getYear() % 100, 2));
format=format.replace(/mm|MM/, fillZore(this.getMonth()+1, 2));
format=format.replace(/m|M/g, this.getMonth()+1);
format=format.replace(/dd|DD/, fillZore(this.getDate(), 2));
format=format.replace(/d|D/g,this.getDate());

format=format.replace(/w|W/g, Week[this.getDay()]);

format=format.replace(/hh|HH/, fillZore(this.getHours(), 2));
format=format.replace(/h|H/g, this.getHours());
format=format.replace(/ii|II/, fillZore(this.getMinutes(), 2));
format=format.replace(/i|I/g, this.getMinutes());
format=format.replace(/ss|SS/, fillZore(this.getSeconds(), 2));
format=format.replace(/s|S/g, this.getSeconds());

format=format.replace(/u|U/g, fillZore(this.getMilliseconds(), 3));
return format;
}用法://2016-10-28 23:17:49.085
new Date().format("yyyy-mm-dd hh:ii:ss.u")
//2011年01月02日10时22分33秒
new Date("2011/01/02 10:22:33").format("yyyy年mm月dd日hh时ii分ss秒");
//2016-10-28
new Date().format("yyyy-mm-dd");
//22:53
new Date().format("hh:ii"); 查看全部
  下面代码将扩展javascript Date对象,为Date对象添加一个format方法,类似于php的date函数,填补了javascript格式日期时间对象功能不足的遗憾:
//对Date的扩展,将 Date 转化为指定格式的字符串
//年(y)、月(m)、日(d)、星期(w)、小时(h)、分(i)、秒(s)、毫秒(u)
//用法:new Date().format("yyyy-mm-dd hh:ii:ss.u") ==> 2016-10-28 23:17:49.085
Date.prototype.format = function( format ) {
if ( typeof format !== "string" ) format = 'yyyy-mm-dd hh:ii:ss';
function fillZore(num, len) {
while(num.toString().length<len){
num = '0'+num;
}
return num;
}

var Week = ['日','一','二','三','四','五','六'];

format=format.replace(/yyyy|YYYY/,this.getFullYear());
format=format.replace(/yy|YY/, fillZore(this.getYear() % 100, 2));
format=format.replace(/mm|MM/, fillZore(this.getMonth()+1, 2));
format=format.replace(/m|M/g, this.getMonth()+1);
format=format.replace(/dd|DD/, fillZore(this.getDate(), 2));
format=format.replace(/d|D/g,this.getDate());

format=format.replace(/w|W/g, Week[this.getDay()]);

format=format.replace(/hh|HH/, fillZore(this.getHours(), 2));
format=format.replace(/h|H/g, this.getHours());
format=format.replace(/ii|II/, fillZore(this.getMinutes(), 2));
format=format.replace(/i|I/g, this.getMinutes());
format=format.replace(/ss|SS/, fillZore(this.getSeconds(), 2));
format=format.replace(/s|S/g, this.getSeconds());

format=format.replace(/u|U/g, fillZore(this.getMilliseconds(), 3));
return format;
}
用法:
//2016-10-28 23:17:49.085
new Date().format("yyyy-mm-dd hh:ii:ss.u")
//2011年01月02日10时22分33秒
new Date("2011/01/02 10:22:33").format("yyyy年mm月dd日hh时ii分ss秒");
//2016-10-28
new Date().format("yyyy-mm-dd");
//22:53
new Date().format("hh:ii");

PHP如何删除字符串中的某个字符串

回复

PHP匿名用户 发起了问题 • 1 人关注 • 0 个回复 • 383 次浏览 • 2016-10-26 13:58 • 来自相关话题

Mysql数据库中计算两GPS坐标的距离

Mysqlliuliangsong 发表了文章 • 0 个评论 • 376 次浏览 • 2016-10-19 13:12 • 来自相关话题

Mysql数据库中计算两GPS坐标的距离有两种方式:
1、直接使用SQL语句:#lat为纬度, lng为经度, 一定不要弄错
declare @lng1 float;
declare @lat1 float;
declare @lng2 float;
declare @lat2 float;
set @lng1=116.3899;
set @lat1=39.91578;
set @lng2=116.3904;
set @lat2=39.91576;
select (2*ATAN2(SQRT(SIN((@lat1-@lat2)*PI()/180/2)
*SIN((@lat1-@lat2)*PI()/180/2)+
COS(@lat2*PI()/180)*COS(@lat1*PI()/180)
*SIN((@lng1-@lng2)*PI()/180/2)
*SIN((@lng1-@lng2)*PI()/180/2)),
SQRT(1-SIN((@lat1-@lat2)*PI()/180/2)
*SIN((@lat1-@lat2)*PI()/180/2)
+COS(@lat2*PI()/180)*COS(@lat1*PI()/180)
*SIN((@lng1-@lng2)*PI()/180/2)
*SIN((@lng1-@lng2)*PI()/180/2))))*6378140;
#返回结果: 42.7484246368099
2、定义函数后再调用(适合批量计算):# use aiezu;
drop function getDistance;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `getDistance`(
lng1 float(10,7)
,lat1 float(10,7)
,lng2 float(10,7)
,lat2 float(10,7)
) RETURNS double
begin
declare d double;
declare radius int;
set radius = 6378140; #假设地球为正球形,直径为6378140米
set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2)
*SIN((lat1-lat2)*PI()/180/2)+
COS(lat2*PI()/180)*COS(lat1*PI()/180)
*SIN((lng1-lng2)*PI()/180/2)
*SIN((lng1-lng2)*PI()/180/2)),
SQRT(1-SIN((lat1-lat2)*PI()/180/2)
*SIN((lat1-lat2)*PI()/180/2)
+COS(lat2*PI()/180)*COS(lat1*PI()/180)
*SIN((lng1-lng2)*PI()/180/2)
*SIN((lng1-lng2)*PI()/180/2))))*radius;
return d;
end
$$
DELIMITER ;
select getDistance(116.3899,39.91578,116.3904,39.91576); #调用函数
#返回结果:43.045058294389 
常见问题及解决方法:
常见问题:
  在创建函数前报如下错误:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)解决方法:
  在创建函数前执行下面SQL语句:set global log_bin_trust_function_creators=1;或者修改my.cnf文件并重启mysqld服务:log_bin_trust_function_creators=1
PHP计算两个GPS坐标点之间的距离: http://aiezu.com/article/18.html
Javascript计算两个GPS坐标的距离: http://aiezu.com/article/17.html
 
更多关于GPS计算请参考:http://www.movable-type.co.uk/scripts/latlong.html(被墙) 查看全部
Mysql数据库中计算两GPS坐标的距离有两种方式:
1、直接使用SQL语句:
#lat为纬度, lng为经度, 一定不要弄错
declare @lng1 float;
declare @lat1 float;
declare @lng2 float;
declare @lat2 float;
set @lng1=116.3899;
set @lat1=39.91578;
set @lng2=116.3904;
set @lat2=39.91576;
select (2*ATAN2(SQRT(SIN((@lat1-@lat2)*PI()/180/2)
*SIN((@lat1-@lat2)*PI()/180/2)+
COS(@lat2*PI()/180)*COS(@lat1*PI()/180)
*SIN((@lng1-@lng2)*PI()/180/2)
*SIN((@lng1-@lng2)*PI()/180/2)),
SQRT(1-SIN((@lat1-@lat2)*PI()/180/2)
*SIN((@lat1-@lat2)*PI()/180/2)
+COS(@lat2*PI()/180)*COS(@lat1*PI()/180)
*SIN((@lng1-@lng2)*PI()/180/2)
*SIN((@lng1-@lng2)*PI()/180/2))))*6378140;
#返回结果: 42.7484246368099

2、定义函数后再调用(适合批量计算):
# use aiezu;
drop function getDistance;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `getDistance`(
lng1 float(10,7)
,lat1 float(10,7)
,lng2 float(10,7)
,lat2 float(10,7)
) RETURNS double
begin
declare d double;
declare radius int;
set radius = 6378140; #假设地球为正球形,直径为6378140米
set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2)
*SIN((lat1-lat2)*PI()/180/2)+
COS(lat2*PI()/180)*COS(lat1*PI()/180)
*SIN((lng1-lng2)*PI()/180/2)
*SIN((lng1-lng2)*PI()/180/2)),
SQRT(1-SIN((lat1-lat2)*PI()/180/2)
*SIN((lat1-lat2)*PI()/180/2)
+COS(lat2*PI()/180)*COS(lat1*PI()/180)
*SIN((lng1-lng2)*PI()/180/2)
*SIN((lng1-lng2)*PI()/180/2))))*radius;
return d;
end
$$
DELIMITER ;
select getDistance(116.3899,39.91578,116.3904,39.91576); #调用函数
#返回结果:43.045058294389
 
常见问题及解决方法:
常见问题:
  在创建函数前报如下错误:
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
解决方法:
  在创建函数前执行下面SQL语句:
set global log_bin_trust_function_creators=1;
或者修改my.cnf文件并重启mysqld服务:
log_bin_trust_function_creators=1

PHP计算两个GPS坐标点之间的距离: http://aiezu.com/article/18.html
Javascript计算两个GPS坐标的距离: http://aiezu.com/article/17.html
 
更多关于GPS计算请参考:http://www.movable-type.co.uk/scripts/latlong.html(被墙)

PHP计算两个GPS坐标点之间的距离

PHPliuliangsong 发表了文章 • 0 个评论 • 324 次浏览 • 2016-10-19 13:04 • 来自相关话题

PHP计算两个GPS坐标距离自定义函数:#lng为经度,lat为纬度,一定不要弄错了哦
function distance($lat1, $lng1, $lat2, $lng2){
return (2*ATAN2(SQRT(SIN(($lat1-$lat2)*PI()/180/2)
*SIN(($lat1-$lat2)*PI()/180/2)+
COS($lat2*PI()/180)*COS($lat1*PI()/180)
*SIN(($lng1-$lng2)*PI()/180/2)
*SIN(($lng1-$lng2)*PI()/180/2)),
SQRT(1-SIN(($lat1-$lat2)*PI()/180/2)
*SIN(($lat1-$lat2)*PI()/180/2)
+COS($lat2*PI()/180)*COS($lat1*PI()/180)
*SIN(($lng1-$lng2)*PI()/180/2)
*SIN(($lng1-$lng2)*PI()/180/2))))*6378140;
}用法:echo distance(39.91917,116.3896,39.91726,116.3940);
// 输出结果:431.65898565454 
Mysql数据库中计算两GPS坐标的距离: http://aiezu.com/article/19.html
Javascript计算两个GPS坐标的距离: http://aiezu.com/article/17.html

更多关于GPS计算请参考:http://www.movable-type.co.uk/scripts/latlong.html(被墙) 查看全部
PHP计算两个GPS坐标距离自定义函数:
#lng为经度,lat为纬度,一定不要弄错了哦
function distance($lat1, $lng1, $lat2, $lng2){
return (2*ATAN2(SQRT(SIN(($lat1-$lat2)*PI()/180/2)
*SIN(($lat1-$lat2)*PI()/180/2)+
COS($lat2*PI()/180)*COS($lat1*PI()/180)
*SIN(($lng1-$lng2)*PI()/180/2)
*SIN(($lng1-$lng2)*PI()/180/2)),
SQRT(1-SIN(($lat1-$lat2)*PI()/180/2)
*SIN(($lat1-$lat2)*PI()/180/2)
+COS($lat2*PI()/180)*COS($lat1*PI()/180)
*SIN(($lng1-$lng2)*PI()/180/2)
*SIN(($lng1-$lng2)*PI()/180/2))))*6378140;
}
用法:
echo distance(39.91917,116.3896,39.91726,116.3940);
// 输出结果:431.65898565454
 
Mysql数据库中计算两GPS坐标的距离: http://aiezu.com/article/19.html
Javascript计算两个GPS坐标的距离: http://aiezu.com/article/17.html

更多关于GPS计算请参考:http://www.movable-type.co.uk/scripts/latlong.html(被墙)

Javascript计算两个GPS坐标的距离

Javascriptliuliangsong 发表了文章 • 0 个评论 • 336 次浏览 • 2016-10-19 12:07 • 来自相关话题

function getDisance(lat1, lng1, lat2, lng2) { // lat为纬度, lng为经度, 一定不要弄错
function toRad(d) { return d * Math.PI / 180; }
var dis = 0;
var radLat1 = toRad(lat1);
var radLat2 = toRad(lat2);
var deltaLat = radLat1 - radLat2;
var deltaLng = toRad(lng1) - toRad(lng2);
var dis = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(deltaLat / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(deltaLng / 2), 2)));
return dis * 6378137;
}
alert( getDisance(39.91917,116.3896,39.91726,116.3940) );
// 弹出:431.65878299633806(米)
 
Mysql数据库中计算两GPS坐标的距离: http://aiezu.com/article/19.html
PHP计算两个GPS坐标点之间的距离: http://aiezu.com/article/18.html
 
更多关于GPS计算知识请参考:http://www.movable-type.co.uk/scripts/latlong.html(被墙) 查看全部
function getDisance(lat1, lng1, lat2, lng2) { // lat为纬度, lng为经度, 一定不要弄错
function toRad(d) { return d * Math.PI / 180; }
var dis = 0;
var radLat1 = toRad(lat1);
var radLat2 = toRad(lat2);
var deltaLat = radLat1 - radLat2;
var deltaLng = toRad(lng1) - toRad(lng2);
var dis = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(deltaLat / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(deltaLng / 2), 2)));
return dis * 6378137;
}
alert( getDisance(39.91917,116.3896,39.91726,116.3940) );
// 弹出:431.65878299633806(米)

 
Mysql数据库中计算两GPS坐标的距离: http://aiezu.com/article/19.html
PHP计算两个GPS坐标点之间的距离: http://aiezu.com/article/18.html
 
更多关于GPS计算知识请参考:http://www.movable-type.co.uk/scripts/latlong.html(被墙)