首页 > 代码库 > Day1-mysql

Day1-mysql

  1. 搭建数据库服务器
  2. 数据库的基本使用
  3. 表的基本操作
  4. 表记录的基本操作
  5. 用户授权与权限撤销
  6. 数据备份与恢复
  7. Mysql主从同步
  8. Mysql读写分离
  9. Mysql高可用集群
  10. Mysql性能调优

?

Mysql数据库服务器????存储的数据

?

1搭建数据库服务器

????商业软件????开源软件????是否跨平台

在生产环境中通宵和网站服务一起使用????????LAMP????LNMP

Mysql历史与优点

关系型数据库????非关系型数据NOSQL????

把不同的数据,使用不同表存储,表与表之间是有关联的

支持多个编程语言????php????.net????java????asp????api????mysql????

?

DB——database????数据库

数据库:依照某种数据模型进行组织并存放到存储器的数据集合

?

DBMS——database????management????system

数据库管理系统:用来操纵和管理数据库的大型服务软件

?

DBS——database????system

数据库系统:即DB+DBMS,指带有数据库并整合了数据库管理软件的计算机系统

?

实体—关系模型????entity-relationship model

?

安装rpm格式软件包

?

安装 源码包????配置????编译????安装

[root@localhost ~]# yum install mysql-server mysql –y

?

[root@localhost ~]# /etc/init.d/mysqld start

初始化 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 localhost.localdomain 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 /usr/mysql-test ; perl mysql-test-run.pl

?

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

?

[确定]

正在启动 mysqld: [确定]

?

端口号

[root@localhost ~]# netstat -untlap |grep :3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11671/mysqld

?

mysql????pid号

[root@localhost ~]# ps aux |grep mysqld

root 11582 0.0 0.5 106092 1352 pts/0 S 11:51 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql

mysql 11671 0.0 9.1 367516 20868 pts/0 Sl 11:51 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

root 11739 0.0 0.3 103248 832 pts/0 S+ 12:07 0:00 grep mysqld

[root@localhost ~]# cat /var/run/mysqld/mysqld.pid

11671

?

进程所有者/组????都 是mysql

数据库目录????/var/lib/mysql/

主配置文件????/etc/my.cnf

?

Mysql-share????????共享库

Mysql-shared-compat????????兼容包

Mysql-server????????服务端程序

Mysql-client????????客户端程序

Mysql-devel????????库和头文件

Mysql-embedded????嵌入式版本

Mysql-test????????测试包

?

Sql命令不区分字母大小写

每条SQL命令必须以;结尾

\c????不执行SQL命令

?

设置登录用户和密码

mysql> set password for root@‘localhost‘=password(‘1‘);

?

存放在数据库服务上库和表,是以文件的形式保存在数据库目录下

[root@localhost ~]# mysql -uroot -p1 mysql

?

mysql> show databases;????????????查询数据库

mysql> select database();????????查看当前所在的库

mysql> use mysql;????????????切换数据库(打开数据库)

mysql> create database 数据库名;????创建数据库

mysql> create drop 数据库名;????????删除数据库

mysql> desc????表名;????????查看表结构

mysql> select ????字段????from????表名;????查询表记录

?

数据库的命名规则

数字、字母、下划线????————注——但不能使用纯数字命名

数据库名具有唯一性

区分字母大小写

尽量不要使用特殊符号????和????关键字

?

information_schema ????????虚拟库????此里的数据;不占有系统磁盘空间????????数据存储在系统内存里

????????????????保存当前数据库服务器已有库和表的信息

mysql ????授权库????????保存用户的授权信息????占有系统磁盘空间

pnformation_schema ????????数据服务器运行时的参数信息????????占有系统磁盘空间

test????????公共库????????任意一个能够连接数据库服务器用户,就对此库拥有完全权限????占有系统磁盘空间

?

表的基本操作----表存放在数据库里

mysql> create table 数据库名.表名(

-> 字段名????类型(宽度)????约束条件,

-> 字段名????类型(宽度)????约束条件,

……

);

?

>insert????into????表名????values("字段内容", "字段内容", "…");

>delete????from????表名; ????删除表里所有记录

>drop????table????表名;????删除表

>drop????database????数据库; ????删除数据库

?

Mysql数据库类型

1数值类型

整数类型

浮点型

?

2字符类型

Char????定长(固定长度)????????默认为1(0-255)

Varchar????变长(长度可定义)????(255-65535)

Text、blob????大文本类型

?

3日期时间类型

4枚举类型

Day1-mysql