linux命令:MYSQL、PHP相关概念及安装配置

PHP源码目录结构:

   php的源码在结构上非常清晰,其代码根目录中主要包含了一些说明文件以及设计方案,

并提供了如下子目录:

 1、build -- 顾名思义,这里主要放置一些跟源码编译相关的文件。

 2、ext -- 官方的扩展目录,包括了绝大多数PHP的函数的定义和实现,如array系列,pdo系列,sql    系列等函数的实现。

 3、main -- 这里存放的是PHP最为核心的文件了,是实现PHP的基础设施,这里和Zend引擎不一样

Zend引擎主要实现语言最核心的语言运行环境。

 4、Zend -- Zend引擎的实现目录,比如脚本的词法语法解析,opcode的执行以及扩展机制的实现

 5、pear -- PHP扩展与应用仓库,包含PEAR的核心文件。

 6、sapi -- 包含了各种服务器抽象层的代码,例如apache的mod_php,cgi,fastcgi以及fpm

7、TSRM -- PHP的线程安全是构建在TSRM库之上的,PHP实现中常见的*G宏通常是对TSRM的封装

8、tests -- PHP的测试脚本集合,包含PHP各项功能的测试文件。

9、win32 -- 这个目录主要包括windows平台相关的一些实现。

MYSQL数据库功能:


   1、数据库创建、删除

2、创建表、删除表、修改表

3、索引的创建、删除

4、用户和权限

5、数据增、删、改

6、查询

MySQL二进制程序:(mysql数据库的database存放路径为/var/lib/mysql目录中)


   客户端命令:mysql

    参数:

-u USERNAME     #以那个用户连接mysql (不指定默认用户为root)

-p           #指定输入用户密码   (不指定默认是空密码)

-h MYSQL_SERVER  #指定mysql服务器主机 (不指定默认为localhost本机)

Usage:  mysql -uroot -p -h 10.109.134.249   -uroot 指定用户

-p:输入用户密码  -h:指定连接那台mysql服务器(ip地址)

mysql客户端:

交互式模式:一步一步的手动输入执行

批处理模式:执行mysql脚本,批处理执行

交互式模式中的命令类别:

客户端命令:?(获取帮助) quit(退出mysql客户端)

服务器端命令:都必须使用语句结束符,默认结束符为分号;

Usage:SHOW DATABASES;  #查看数据库

  关系数据库对象:库、表、索引、视图、约束、存储过程、存储函数、触发器、游标、

用户、权限、事务。

数据库最基本的对象-->表:行(row),列(field,column)

   服务端命名:mysqld 


Mysql常用命令不区分大小写,但是需保持一致(都大写或者都小写):

DDL:定义数据对象,关键字:CREATE(创建)、ALTER(修改)、DROP(删除) * 这些命令主要作用的范围:数据库,表,表的字段 创建用户:               CREATE USER ‘USERNAME‘@‘HOST‘ IDENTIFIED BY ‘PASSWORD‘;  #可以不指定密码                       USERNAME:用户名        HOST:主机                        IDENTIFIED:指定密码   BY‘密码’ 删除用户:                DROP USER ‘USERNAME‘@‘HOST‘;  删除用户(需具体指定删除那个用户)          为用户设定密码方法:(建议用1和3这两种方法设定或修改密码)        *1、mysql>SET PASSWORD FOR ‘USERNAME‘@‘HOST‘=PASSWORD(‘PASSWORD‘)                Usage: SET PASSWORD FOR ‘root‘@‘localhost‘=PASSWORD(‘123456‘)  #设定                                                                                        [email protected]用户名密码为123456          2、直接在linux下输入,不需要进入mysql客户端输入(此方法容易导致修改相同用户的密码):                   # mysqladmin -uUSERNAME -hHOST -p password ‘password‘ #设定用户USERNAME                   主机HOST 密码为password                 Usage: [[email protected] ~]#mysqladmin -uroot -h10.109.134.249 -p password                    ‘123456‘   #设定10.109.134.249主机的root用户密码为123456                                     *3、直接修改表中的内容:
              mysql>UPDATE user SET password=PASSWORD(‘password‘) WHERE USER=‘root‘               AND Host=‘10.109.134.249‘;     #设定 主机10.109.134.249的数据库root用户密码              AND与关系(需同时满足) OR或关系(两者满足一个即可) NOT非关系(取反)
 HOST可以使用的格式:                           IP , HOSTNAME(主机名),NETWORK(网络地址),通配符(需用‘通配符‘引号)                           通配符包含:                                     _:匹配任意单个字符,172.16.0._                                    %:匹配任意字符    Usage:        创建数据库:CREATE DATABASE IF NOT EXISTS db_name;   如果数据库不存在                            创建db_name数据库        创建表:CREATE TABLE tb_name(col1,col2,...);  创建tb_name表  col表示字段        查看库中的表:SHOW TABLES FROM db_name  查看db_name数据库中的表        查看表的结构:DESC tb_name 查看tb_name表的结构              删除表:DROP TABLE IF EXISTS tb_name  如果表存在删除tb_name表              修改表:ALTER TABLE tb_name
                  MODIFY:修改某字段(变更属性,权限)                  CHANGE: 改变某字段 (变更字段名称)                  ADD:增加某字段                  DROP : 删除某字段     Usage:  ALTER TABLE students ADD course VARCHAR(100);      #对表students新增course字段且VARCHAR(100)空间长度为100

DML:数据操纵语言,关键字:INSERT(插入)、DELETE(删除)、UPDATE(更新、修改)    * 这些命令主要作用的范围:针对表中字段的值进行操作      插入数据: INSERT INTO tb_name (col1,col2,...) VALUES|VALUE (‘STRING‘,NUM,...),                                           (‘STRING‘,NUM,...);    col表示字段      更新、修改数据:  UPDATE tb_name SET column=value WHERE ..... ;   WHERE表示修改那个                             具体数据,并不是把column整个这个字段的值修改为value.       Usage: UPDATE students SET Course=‘Jiuyinzhenjing‘ WHERE Name=‘LHC‘;                                               #表示修改表students中Name值为LHC的Course字段的值变为‘Jiuyinzhenjing’                       DCL:数据库控制语言 ,关键字:GRANT(允许、授权)、REVOKE(取消权限)                ALL PRIVILEGES:表示所有权限     GRANT给用户授权:                Usage:   GRANT pri1,pri2,... ON DB_NAME.TB_NAME TO ‘USERNAME‘@‘HOST‘ IDENTIFIED BY ‘PASSWORD‘  #给DB_NAME数据库中的TB_NAME表中的[email protected]‘HOST‘用户授予pri1,pri2等权限也可以设定密码IDENTIFIED BY ‘PASSWORD‘(如果该用户不存在,会直接新建该用户并授权)      REVOKE取消用户权限:         Usage:  REVOKE pri1,pri2,... ON DB_NAME.TB_NAME FROM ‘USERNAME‘@‘HOST‘;    #取消DB_NAME数据库中的TB_NAME表中的‘USERNAME‘@‘HOST‘用户的pri1,pri2等权限       
      查看用户的授权: SHOW GRANTS FOR ‘USERNAME‘@‘HOST‘;
      刷新用户权限列表: FLUSH PRIVILEGES;

DQL:数据库查询语言,关键字:SELECT(挑选,选择)
      SELECT 字段 FROM tb_name WHERE CONDITION;       *:表示所有字段       WHERE:没有条件表示显示所有行;
       Usage: SELECT Name,Course FROM students WHERE Gender=‘M‘;                  #表示只选择表students中的Gender字段值为M的Name和Course字段的信息

php、mysql基础

   需先安装httpd服务,使得web服务器启用。


一、安装PHP

[[email protected] ~]# ls       #先下载rpm安装包

php53-5.3.3-23.el5_10.i386.rpm   sysroo1.gz

Desktop   inittab.des3    php53-cli-5.3.3-23.el5_10.i386.rpm     sysroot

php53-common-5.3.3-23.el5_10.i386.rpm     php53-mbstring-5.3.3-23.el5_10.i386.rpm

[[email protected] ~]# rpm -ivh php53-common-5.3.3-23.el5_10.i386.rpm

warning: php53-common-5.3.3-23.el5_10.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing...                ########################################### [100%]

1:php53-common           ########################################### [100%]

[[email protected] ~]# rpm -ivh php53-cli-5.3.3-23.el5_10.i386.rpm

warning: php53-cli-5.3.3-23.el5_10.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing...                ########################################### [100%]

1:php53-cli              ########################################### [100%]

[[email protected] ~]# rpm -ivh php53-mbstring-5.3.3-23.el5_10.i386.rpm

warning: php53-mbstring-5.3.3-23.el5_10.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing...                ########################################### [100%]

1:php53-mbstring         ########################################### [100%]

[[email protected] ~]# rpm -ivh php53-5.3.3-23.el5_10.i386.rpm

warning: php53-5.3.3-23.el5_10.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing...                ########################################### [100%]

1:php53                  ########################################### [100%]

[[email protected] ~]# rpm -ql php53   #查看安装后的相关目录

/etc/httpd/conf.d/php.conf

/usr/lib/httpd/modules/libphp5.so

/var/lib/php/session

/var/www/icons/php.gif

[[email protected] conf.d]# service httpd restart   #重启httpd服务
Stopping httpd:                              [ OK ]
Starting httpd:                              [ OK ]
[[email protected] conf.d]# cd /var/www/a.com/
[[email protected] a.com]# ls
index.html
[[email protected] a.com]# mv index.html index.php
[[email protected] a.com]# vi index.php

<title>A</title>
<h1>test.a.com<h1>
<?php          #红色三行为嵌入PHP程序固定格式,每个语句必须以;结尾
phpinfo();
?>

二、安装mysql

[[email protected] a.com]# yum -y install mysql-server   #安装mysql
...
  Installing     : perl-DBI                                 1/4 
  Installing     : mysql                               2/4 
  Installing     : perl-DBD-MySQL                             3/4 
  Installing     : mysql-server                              4/4 
...
Complete!

[[email protected] ~]# service mysqld start    #启用mysql

初始化 MySQL 数据库: Installing MySQL system tables...

OK

Filling help tables...

OK

To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password ‘new-password‘

/usr/bin/mysqladmin -u root -h johntest.com password ‘new-password‘

Alternatively you can run:

/usr/bin/mysql_secure_installation

which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

[确定]

启动 MySQL:                                 [确定]

[[email protected] ~]# mysql     #运行mysql客户端命令

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.

mysql> SHOW DATABASES;  #查看数据库
+--------------------+
| Database   |
+--------------------+
| information_schema | 
| mysql      | 
| test      | 
+--------------------+
3 rows in set (0.01 sec)

mysql> CREATE DATABASE IF NOT EXISTS testdb;  #创建数据库如果数据库不存在
Query OK, 1 row affected (0.01 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database    |
+--------------------+
| information_schema | 
| mysql       | 
| test        | 
| testdb     | 
+--------------------+
4 rows in set (0.00 sec)

mysql>DROP DATABASE testdb;   #删除数据库后无法恢复
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE DATABASE IF NOT EXISTS mydb;  #如果mydb数据库不存在,则建立该数据库

Query OK, 1 row affected (0.00 sec)

mysql> SHOW DATABASES;  #查看mysql数据库

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mydb               |

| mysql              |

| test               |

+--------------------+

4 rows in set (0.00 sec)

mysql> USE mydb   #设定客户端默认数据库为mydb(此命令为客户端命令)
Database changed
mysql> CREATE TABLE students(Name CHAR(10) NOT NULL,Age TINYINT UNSIGNED,Gender CHAR(1) NOT NULL);   #创建students表包含Name(姓名CHAR(10)长度为10 NOT NULL表示不能为空),

Age(年龄 TINYINT一个字节 UNSIGNED不能为负数),Gender(性别 CHAR(1)一个字符)
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW TABLES;  #查看表
+----------------+
| Tables_in_mydb |     #在mydb数据库中有students表
+----------------+
| students       | 
+----------------+
1 row in set (0.00 sec)

mysql> DESC students;  #查看表结构
+--------+---------------------+------+-----+---------+-------+
| Field  | Type    | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| Name   | char(10)  | NO   |     | NULL  |       | 
| Age    | tinyint(3) unsigned | YES  |     | NULL  |      | 
| Gender | char(1)  | NO   |     | NULL |       | 
+--------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> ALTER TABLE students ADD course VARCHAR(100); #对表students新增course字段且空间(VARCHAR(100))                                      长度为100

Query OK, 0 rows affected (0.01 sec)  #新增表字段 
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC students;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type   | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| Name    | char(10)    | NO   |     | NULL    |       | 
| Age    | tinyint(3) unsigned | YES  |     | NULL    |       | 
| Gender   | char(1)     | NO   |     | NULL    |       | 
| course  | varchar(100) | YES  |     | NULL    |       | 
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> ALTER TABLE students CHANGE course Course VARCHAR(100) AFTER Name;  #变更字段course                                的名称为Course并把该字段放置在Name字段后面

Query OK, 0 rows affected (0.01 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC students;

+--------+---------------------+------+-----+---------+-------+

| Field  | Type                | Null | Key | Default | Extra |

+--------+---------------------+------+-----+---------+-------+

| Name   | char(10)            | NO   |     | NULL    |       |

| Course | varchar(100)        | YES  |     | NULL    |       |

| Age    | tinyint(3) unsigned | YES  |     | NULL    |       |

| Gender | char(1)             | NO   |     | NULL    |       |

+--------+---------------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

mysql> INSERT INTO students (Name,Gender) VALUE (‘LHC‘,‘M‘),(‘XLN‘,‘F‘);   #在表students中Name和Gender                               字段增加2个用户,其值分别为姓名LHC,性别M;姓名XLN,性别F;
Query OK, 2 rows affected (0.00 sec)    
Records: 2  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM students;  #查询表中所有字段的信息

+------+--------+------+--------+

| Name | Course | Age  | Gender |

+------+--------+------+--------+

| LHC  | NULL   | NULL | M      |

| XLN  | NULL   | NULL | F      |

+------+--------+------+--------+

2 rows in set (0.00 sec)

mysql> INSERT INTO students VALUES (‘XiaoXiangzi‘,‘HaMagong‘,‘57‘,‘M‘); #在表students中增加                              用户XiaoXiangzi,课程HaMagong,年龄57,性别M的行

Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> SELECT * FROM students;

+------------+----------+------+--------+

| Name       | Course   | Age  | Gender |

+------------+----------+------+--------+

| LHC        | NULL     | NULL | M      |

| XLN        | NULL     | NULL | F      |

| XiaoXiangz   | HaMagong  |  57 | M      |

+------------+----------+------+--------+

3 rows in set (0.00 sec)

mysql> UPDATE students SET Course=‘Jiuyinzhenjing‘ WHERE Name=‘LHC‘;

                   #表示修改表students中Name值为LHC的Course字段的值变为‘Jiuyinzhenjing’

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM students;

+------------+----------------+------+--------+

| Name       | Course         | Age  | Gender |

+------------+----------------+------+--------+

| LHC        | Jiuyinzhenjing | NULL | M      |

| XLN        | NULL           | NULL | F      |

| XiaoXiangz | HaMagong       |   57 | M      |

+------------+----------------+------+--------+

3 rows in set (0.00 sec)

mysql> UPDATE students SET Age=‘18‘;  #把表students中Age字段的值全部变更为18

Query OK, 3 rows affected (0.00 sec)

Rows matched: 3  Changed: 3  Warnings: 0

mysql> SELECT * FROM students;   #查询表中所有字段的信息

+------------+----------------+------+--------+

| Name       | Course      | Age   | Gender |

+------------+----------------+------+--------+

| LHC        | Jiuyinzhenjing|  18  | M      |

| XLN        | NULL       |  18  | F      |

| XiaoXiangz | HaMagong       |  18  | M      |

+------------+----------------+------+--------+

3 rows in set (0.00 sec)

mysql> SELECT Name,Course FROM students WHERE Gender=‘M‘;

  #表示只选择表students中的Gender字段值为M的Name和Course字段的信息

+------------+----------------+

| Name     |   Course    |

+------------+----------------+

| LHC     | Jiuyinzhenjing |

| XiaoXiangz | HaMagong     |

+------------+----------------+

2 rows in set (0.00 sec)

mysql> SELECT * FROM students;  #查询表students的信息

+------------+----------------+------+--------+

| Name       | Course         | Age  | Gender |

+------------+----------------+------+--------+

| LHC        | Jiuyinzhenjing |   18 | M      |

| XLN        | NULL           |   18 | F      |

| XiaoXiangz | HaMagong       |   18 | M      |

+------------+----------------+------+--------+

3 rows in set (0.00 sec)

mysql> DELETE FROM students WHERE Name=‘XLN‘; #删除表students中Name字段值为XLN的行

Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM students;  #查询表students的信息

+------------+----------------+------+--------+

| Name       | Course         | Age  | Gender |

+------------+----------------+------+--------+

| LHC     | Jiuyinzhenjing |   18 | M      |

| XiaoXiangz | HaMagong    |   18 | M      |

+------------+----------------+------+--------+

2 rows in set (0.00 sec)

mysql> DELETE FROM students WHERE Course=‘jiuyinzhenjing‘;  #删除表students中Course字段值                                        为jiuyinzhenjing的行

Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM students;  #查询表students的信息

+------------+----------+------+--------+

| Name       | Course   | Age  | Gender |

+------------+----------+------+--------+

| XiaoXiangz | HaMagong |   18 | M      |

+------------+----------+------+--------+

1 row in set (0.00 sec)

mysql> \q        #退出mysql程序

Bye

三、创建mysql用户

mysql> CREATE USER ‘jerry‘@‘%‘ IDENTIFIED BY ‘jerry‘; #创建jerry用户,密码为jerry

Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS FOR ‘jerry‘@‘%‘;    #查看jerry用户的授权

+-----------------------------------------------------------------------------+

| Grants for [email protected]%                                                          |

+-----------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO ‘jerry‘@‘%‘ IDENTIFIED BY PASSWORD ‘7e82afb618ffeb73‘ |

+-----------------------------------------------------------------------------+

1 row in set (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON mydb.* TO ‘jerry‘@‘%‘; #给用户jerry授权mydb数据库的所有权限
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS FOR  ‘jerry‘@‘%‘;  #查看jerry用户的授权
+-----------------------------------------------------------------------------+
| Grants for [email protected]%       |
+-----------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO ‘jerry‘@‘%‘ IDENTIFIED BY PASSWORD ‘7e82afb618ffeb73‘ | 
| GRANT ALL PRIVILEGES ON `mydb`.* TO ‘jerry‘@‘%‘     | 
+-----------------------------------------------------------------------------+
2 rows in set (0.00 sec)

[[email protected] ~]# mysql -ujerry -p -h10.109.134.249     #换一台主机远程登录

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.0.77 Source distribution

Copyright (c) 2000, 2013, 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> SHOW DATABASES;    #成功登陆到10.109.134.249mysql数据库

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mydb               |

| test               |

+--------------------+

3 rows in set (0.00 sec)

mysql> \q        #退出mysql程序

Bye

四、远端空密码无法登录问题:

先切换到远端mysql客户端主机:

[[email protected] ~]# mysql    #没有指定需要连接的mysql主机

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)

[[email protected] ~]# mysql -uroot -p -h10.109.134.249   #指定以root用户登录                                              10.109.134.249mysql主机

Enter password:      #默认root初始密码为空

ERROR 1045 (28000): Access denied for user ‘root‘@‘10.109.134.236‘ (using password: NO)

#无法远端登录,提示密码为空

查看mysql数据库中的root授权信息:

mysql> SHOW DATABASES;   #先查看数据库中有哪些库

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mydb               |

| mysql              |   #mysql为主库

| test               |

| testdb            |

+--------------------+

5 rows in set (0.00 sec)

mysql> USE mysql   #设定默认数据库为mysql库

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> SHOW TABLES;  #查看库中的表

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| func                      |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| proc                      |

| procs_priv                |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

17 rows in set (0.00 sec)

mysql> DESC user;    #查看表user结构

+-----------------------+-----------------------------------+------+-----+---------+-------+

| Field       | Type     | Null | Key | Default | Extra |

+-----------------------+-----------------------------------+------+-----+---------+-------+

| Host       | char(60)   | NO   | PRI |     |     |

| User       | char(16)   | NO   | PRI |     |     |

| Password    | char(41)   | NO   |   |     |    |

| max_user_connections  | int(11) unsigned   | NO   |    | 0   |    |

+-----------------------+-----------------------------------+------+-----+---------+-------+

37 rows in set (0.00 sec)

mysql> SELECT User,Host,Password FROM user;  #查看表user中包含User,Host,Password的字段

+----------+--------------+------------------+

| User     | Host         | Password   |

+----------+--------------+------------------+

| root     | localhost   |            |  #红色部分表示root用户只能在loclhost,

| root     | johntest.com |            |   johntest.com,127.0.0.1这些主机上登录

| root     | 127.0.0.1   |            |   且都没有设置密码。

|        | localhost   |            |

|        | johntest.com |            |

| jerry    | %        | 7e82afb618ffeb73 |

| testuser  | %        | 0d59dfc910205df0 |

+----------+--------------+------------------+

7 rows in set (0.00 sec)

mysql> SET PASSWORD FOR ‘root‘@‘localhost‘=PASSWORD(‘123456‘);  #设定[email protected]用户的

密码为123456

Query OK, 0 rows affected (0.02 sec)

mysql> SELECT User,Host,Password FROM user; #查看表user中包含User,Host,Password的字段

+----------+--------------+------------------+

| User     | Host         | Password     |

+----------+--------------+------------------+

| root     | localhost    | 565491d704013245 |   #此处已经生成了密码加密串

| root     | johntest.com  |            |

| root     | 127.0.0.1    |            |

|          | localhost               |

|          | johntest.com|            |

| jerry    | %        | 7e82afb618ffeb73 |

| testuser | %           | 0d59dfc910205df0 |

+----------+--------------+------------------+

7 rows in set (0.00 sec)

mysql> FLUSH PRIVILEGES;   #刷新数据库授权列表

Query OK, 0 rows affected (0.00 sec)

mysql> UPDATE user SET Password=PASSWORD(‘123456‘) WHERE USER=‘root‘ AND Host=‘127.0.0.1‘;

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT User,Host,Password FROM user;

+----------+--------------+------------------+

| User     | Host         | Password         |

+----------+--------------+------------------+

| root     | localhost    | 565491d704013245 |

| root     | johntest.com |                  |

| root     | 127.0.0.1    | 565491d704013245 |

|          | localhost    |                  |

|          | johntest.com |                  |

| jerry    | %            | 7e82afb618ffeb73 |

| testuser | %            | 0d59dfc910205df0 |

+----------+--------------+------------------+

7 rows in set (0.00 sec)

mysql> FLUSH PRIVILEGES;   #刷新数据库授权列表

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘10.109.%.%‘ IDENTIFIED BY ‘redhat‘; #设定10.109段所有主机都可以通过root用户登录到该数据库,并拥有所有权限。

Query OK, 0 rows affected (0.00 sec)

切换到10.109段IP地址的远程主机,通过远程登录到数据库:

[[email protected] ~]#mysql -uroot -p -h10.109.134.249;  #远程通过root用户登录到

10.109.134.249数据库

Enter password:   #输入密码

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 5.0.77 Source distribution

Copyright (c) 2000, 2013, 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> SHOW DATABASES;  #查看数据库信息

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mydb               |

| mysql              |

| test               |

| testdb             |

+--------------------+

5 rows in set (0.00 sec)

mysql> SHOW GRANTS;   #查看授权信息

+----------------------------------------------------------------------------------------------+

| Grants for [email protected]%.%      |

+----------------------------------------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘10.109.%.%‘ IDENTIFIED BY PASSWORD ‘27c30f0241a5b69f‘ |

+----------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

mysql> FLUSH PRIVILEGES;   #刷新数据库授权列表

Query OK, 0 rows affected (0.00 sec)
mysql> quit

[[email protected] ~]# ps -au mysql     #6 查看mysql进程且清除
  PID TTY          TIME CMD
 9585 pts/1    00:00:00 mysqld_safe
 9618 pts/1    00:00:00 mysqld
 9658 pts/0    00:00:00 ps
[[email protected] ~]# kill -9 9585
[[email protected] ~]# ps -au mysql
  PID TTY          TIME CMD
 9618 pts/1    00:00:00 mysqld
 9659 pts/0    00:00:00 ps
[[email protected] ~]# kill -9 9618

五、基础练习

1、新建如下表(包括结构和内容,所属库为testdb)

ID     Name       Age   Gender    Course

1     Ling Huchong  24    Male     Hamagong

2     Huang Rong   19    Female   Da gougunfa

3     Lu Wushuang   18    Female   Jiuyang shengong

4     Zhu Ziliu    52    Male    Pixie Jianfa

5     Chen Jialuo   22    Male    Xianglong Shiba zhang

[[email protected] ~]# mysql     #进入mysql客户端

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.0.77 Source distribution

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.

mysql> CREATE DATABASES IF NOT EXISTS testdb;  #创建testdb数据库
Query OK, 1 row affected (0.01 sec)

mysql> SHOW DATABASES;  #查看数据库
+--------------------+
| Database    |
+--------------------+
| information_schema | 
| mydb       | 
| mysql     | 
| test       | 
| testdb    | 
+--------------------+
5 rows in set (0.00 sec)

mysql> USE testdb   #设定testdb为默认数据库

Database changed

mysql> CREATE TABLE students(ID TINYINT(6) NOT NULL,Name CHAR(10) NOT NULL,Age TINYINT(3) UNSIGNED,Gender CHAR(1) NOT NULL,Course VARCHAR(100)); #在默认的数据库中新建表students,包含ID Name

Age Gender Course字段,并多每个字段做一些空间长度等限定
Query OK, 0 rows affected (0.01 sec)

mysql> DESC students;    #查看表students的结构信息

+--------+---------------------+------+-----+---------+-------+

| Field  | Type                | Null | Key | Default | Extra |

+--------+---------------------+------+-----+---------+-------+

| ID     | tinyint(6)          | NO   |     | NULL    |       |

| Name   | char(10)            | NO   |     | NULL    |       |

| Age    | tinyint(3) unsigned | YES  |     | NULL    |       |

| Gender | char(1)             | NO   |     | NULL    |       |

| Course | varchar(100)        | YES  |     | NULL    |       |

+--------+---------------------+------+-----+---------+-------+

5 rows in set (0.00 sec)

mysql> INSERT INTO students VALUES (‘1‘,‘Ling Huchong‘,‘24‘,‘Male‘,‘Hamagong‘); #在表                              students中新增一行1 Ling Huchong 24 Male Hamagong

Query OK, 1 row affected, 2 warnings (0.00 sec)

mysql> INSERT INTO students VALUES (‘2‘,‘Huang Rong‘,‘19‘,‘Female‘,‘Da gougunfa‘);

Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> INSERT INTO students VALUES(‘3‘,‘Lu Wushuang‘,‘18‘,‘Female‘,‘Jiuyang shengong‘);

Query OK, 1 row affected, 2 warnings (0.00 sec)

mysql> INSERT INTO students VALUES(‘4‘,‘Zhu Ziliu‘,‘52‘,‘Male‘,‘Pixie Jianfa‘);

Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> INSERT INTO students VALUES(‘5‘,‘Chen Jialuo‘,‘22‘,‘Male‘,‘Xianglong Shiba zhang‘);

Query OK, 1 row affected, 2 warnings (0.00 sec)

mysql> SELECT * FROM students;  #查看表中字段的内容

+----+------------+------+--------+-----------------------+

| ID | Name       | Age  | Gender | Course             |

+----+------------+------+--------+-----------------------+

|  1 | Ling Hucho |   24 | M      | Hamagong           |

|  2 | Huang Rong |   19 | F      | Da gougunfa         |

|  3 | Lu Wushuan |   18 | F      | Jiuyang shengong    |

|  4 | Zhu Ziliu  |  52 | M      | Pixie Jianfa        |

|  5 | Chen Jialu |   22 | M      | Xianglong Shiba zhang  |

+----+------------+------+--------+-----------------------+

5 rows in set (0.00 sec)

5.1. 找出性别为女性的所有人:

mysql> SELECT * FROM testdb.students WHERE Gender=‘F‘;#查找testdb数据库students表中所有女性

+----+------------+------+--------+------------------+

| ID | Name       | Age  | Gender | Course           |

+----+------------+------+--------+------------------+

|  2 | Huang Rong |   19 | F      | Da gougunfa      |

|  3 | Lu Wushuan |   18 | F      | Jiuyang shengong |

+----+------------+------+--------+------------------+

2 rows in set (0.00 sec)

5.2. 找出年龄大于30的所有人;

mysql> SELECT * FROM testdb.students WHERE Age>‘30‘; #查找表中所有年龄大于30岁的

+----+-----------+------+--------+--------------+

| ID | Name      | Age  | Gender | Course       |

+----+-----------+------+--------+--------------+

|  4 | Zhu Ziliu |   52 | M      | Pixie Jianfa |

+----+-----------+------+--------+--------------+

1 row in set (0.01 sec)

5.3. 修改Zhu ziliu的课程Course为Kuihua Baodian;

mysql> UPDATE testdb.students SET Course=‘Kuihua Baodian‘ WHERE Name=‘Zhu Ziliu‘;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM testdb.students WHERE Name=‘Zhu Ziliu‘;#查找表中Name字段值为Zhu Ziliu的行

+----+-----------+------+--------+----------------+

| ID | Name      | Age  | Gender | Course         |

+----+-----------+------+--------+----------------+

|  4 | Zhu Ziliu |   52 | M      | Kuihua Baodian |

+----+-----------+------+--------+----------------+

1 row in set (0.00 sec)

5.4. 删除年龄小于等于19的所有人

mysql> DELETE FROM testdb.students WHERE Age<=‘19‘;

Query OK, 2 rows affected (0.00 sec)

mysql> SELECT * FROM testdb.students;

+----+------------+------+--------+-----------------------+

| ID | Name       | Age  | Gender | Course              |

+----+------------+------+--------+-----------------------+

|  1 | Ling Hucho  |   24 | M      | Hamagong           |

|  4 | Zhu Ziliu   |   52 | M      | Kuihua Baodian       |

|  5 | Chen Jialu  |   22 | M      | Xianglong Shiba zhang  |

+----+------------+------+--------+-----------------------+

3 rows in set (0.00 sec)

5.5. 授权给testuser对testdb库所有权限;

mysql> CREATE USER ‘testuser‘@‘%‘ IDENTIFIED BY ‘testuser‘; #新建一个testuser用户并设置密码

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON testdb.* TO ‘testuser‘@‘%‘; #给新建的testuser用户授予对testdb                                     库的所有权限

Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS FOR ‘testuser‘@‘%‘;  #查看testuser用户的授权信息

+--------------------------------------------------------------------------------+

| Grants for [email protected]%                                                          |

+--------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO ‘testuser‘@‘%‘ IDENTIFIED BY PASSWORD ‘0d59dfc910205df0‘ |

| GRANT ALL PRIVILEGES ON `testdb`.* TO ‘testuser‘@‘%‘                           |

+--------------------------------------------------------------------------------+

2 rows in set (0.00 sec)

[[email protected] ~]# mysql -utestuser -p -h10.109.134.249;  #通过另一台服务器远程以testuser                                 用户登录10.109.134.249的数据库。

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 10

Server version: 5.0.77 Source distribution

Copyright (c) 2000, 2013, 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> SELECT * FROM testdb.students; #查询testdb数据库中的students表

+----+------------+------+--------+-----------------------+

| ID | Name       | Age  | Gender | Course                |

+----+------------+------+--------+-----------------------+

|  1 | Ling Hucho |   24 | M      | Hamagong              |

|  4 | Zhu Ziliu  |   52 | M      | Kuihua Baodian        |

|  5 | Chen Jialu |   22 | M      | Xianglong Shiba zhang |

+----+------------+------+--------+-----------------------+

3 rows in set (0.00 sec)

附件:

php、mysql下载地址: http://mirrors.163.com/centos/5/os/i386/CentOS/

  


时间: 2025-01-12 07:15:00

linux命令:MYSQL、PHP相关概念及安装配置的相关文章

基于Linux命令行KVM虚拟机的安装配置与基本使用

背景 由于生产环境的服务器并不会安装桌面环境,简单操作的图形化安装也不适合批量部署安装.因此,我还是更倾向于在命令下安装配置KVM虚拟机.结合了一些资料和个人使用的状况,我大致列出了一些基本和常用的使用方法. 安装配置 一.环境介绍 操作系统:centos6.6 内核版本:2.6 IP地址:172.16.57.24 二.检查CPU 和 Xen 不同,KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持 egrep

linux小白 mysql5.0源码安装配置

安装mysql-5.0.45.tar.gz(该软件包下载地址:http://www.filewatcher.com/m/mysql-5.0.45.tar.gz.24433261-0.html) # groupadd mysql              #添加mysql组 # useradd -g mysql mysql      #添加mysql用户,且加入mysql组 --------------------编译过程---------------------------------- # t

MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmware.com/web/vmware/details?downloadGroup=WKST-1411-WIN&productId=686&rPId=20814 包名:VMware-workstation-full-12.5.7.20721.exe 2)     Windows版本包

MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置

一.概述 keepalived介绍:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人 工做的只是修复故障的web服务器. 二.环境 ? 1 2 3 vip:192.168.1.203\204 mysql-master:192.168.1.231 mysql-

mysql 5.7.14 安装配置方法图文教程(转)

http://www.jb51.net/article/90259.htm ******************************** 因笔者个人需要需要在本机安装Mysql,先将安装过程记录如下,希望对他人有所参考. 一.下载软件 1. 进入mysql官网,登陆自己的oracle账号,下载Mysql-5.7.14,下载地址:http://dev.mysql.com/downloads/mysql/ 2.将下载好的文件解压到指定目录,笔者解压在C:\software\Mysql\mysql

数据库学习之--Linux下Mysql源码包安装

数据库学习之--Linux下Mysql源码包安装 系统环境: 操作系统:RedHat EL6 DB Soft:  Mysql 5.6.4-m7     Mysql 在linux下的安装方式有两种版本,一种为Binary(二进制),另外一种为Source(源码包),本文为Source Install方式. 1.安装前的准备 解压安装包 [[email protected] ~]$ ls mysql-5.6.4-m7  mysql-5.6.4-m7.tar.gz  mysql-5.6.4-m7.ta

mysql 5.7.13 安装配置方法图文教程(win10) (转)

http://www.jb51.net/article/87152.htm ***************************** MySQL是一款关系型数据库管理系统,是由Oracle旗下公司MySQL AB 公司开发,是在web方面最好的.最流行的关系型数据库软件应用之一,深受广大个人使用者以及中小型企业的喜爱. 方法/步骤 双击安装文件,进入安装,如图所示,点击“next”,进入下一步 在协议许可(LicenseAgreement)界面,勾选“Iacceptthelicenseterm

Linux系统下JDK和Tomcat安装配置

Linux系统下JDK安装配置 1. 从oracle网站下载需要的JDK软件 :jdk-6u39-linux-i586.bin http://www.oracle.com/technetwork/java/javase/archive-139210.html 然后通过FTP上传到linux服务器上. 2. 将文件copy到/usr目录下 [[email protected] wendy]# cp jdk-6u39-linux-i586.bin /usr/ 3. 给文件添加执行权限: [[emai

Linux下MySQL的几种安装方式

闲来有空,整理下Linux下Mysql的几种安装方式,分别使用yum/rpm.常规方式编译安装.cmake方式编译安装以及使用二进制方式免编译安装MySQL Linux系统环境: CentOS release 6.5 (Final) x86_64 MySQL版本:5.5.45 安装前关闭了iptables.selinux为disabled 预安装以下包: yum groupinstall "debugging Tools" "Dial-up Networking Suppor