首页 > 代码库 > Day1-mysql
Day1-mysql
- 搭建数据库服务器
- 数据库的基本使用
- 表的基本操作
- 表记录的基本操作
- 用户授权与权限撤销
- 数据备份与恢复
- Mysql主从同步
- Mysql读写分离
- Mysql高可用集群
- 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