mysql
mysql数据库主要为互联网设计

关系型数据库的核心理念
表和表之间有关联关系
什么关系呢?
主外键关系
主键:不能为空+不能重复
一般是数字自增长列  例如:id
外键:外键引用主键,外键的值来自于主键

一、rpm包安装
原光盘自带的版本比较低     dev.mysql.com/downloads/下载最新版本的mysql
下载有rpm包版本 源码版本、二进制版本
1、rpm安装方式:yum install mysql*
启动mysql的方式:service mysqld start
登录mysql的方式:mysql -uroot -p -h localhost
如何修改mysql的root密码?
mysqladmin -uroot password "123456"
将root的密码改成123456
mysqladmin -uroot -p123456 shutdown
关闭mysql数据库
rpm安装配置文件 客户端和服务端的配置文件都是/etc/my.cnf
mysql 5.1.X
mysql 5.5.X
mysql-cluster-7.2.X 
***************************************************************************************************
二. 二进制mysql包安装
mysql-5.1.36-linux-i686-glibc23.tar.gz
binary  -> 直接使用
1. 确保系统存在 mysql 用户 (gid=uid=27)
2. 解压 /usr/src 下
3. 软链接 /usr/src/mysql-XXXX /usr/local/mysql
4. 生成服务器配置文件                -> /usr/local/mysql/etc/my.cnf
[mysqld]
port = 3306
socket = /var/run/mysqld/mysql5.socket
pid-file = /var/run/mysqld/mysql5.pid
general-log
general-log-file = /var/log/mysqld/mysql5-access.log
log-error = /var/log/mysqld/mysql5-error.log
user = mysql
datadir = /database
[mysqld]
port = 3306
socket = /var/run/mysqld/mysql5.socket
pid-file = /var/run/mysqld/mysql5.pid
general-log
general-log-file = /var/log/mysqld/mysql5-access.log
log-error = /var/log/mysqld/mysql5-error.log
user = mysql
datadir = /database
确保目录存在,属性正确

5. 生成客户端配置 -> /etc/my.cnf 
[mysql]
socket=/var/run/mysqld/mysql5.socket

6. 生成启动服务脚本
/usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqlold

修改 mysqlold <- 755

basedir=/usr/local/mysql
datadir=/database
pid_file= /var/run/mysqld/mysql5.pid   ||mysqld_pid_file_path= /var/run/mysqld/mysql5.pid
conf=/usr/local/mysql/etc/my.cnf


7. 创建数据库,并初始化

mkdir /database 
cd /usr/local/mysql
./scripts/mysql_install_db

验证 -> ls /database/mysql/

chown mysql:mysql /database /usr/local/mysql

8. 启动服务器
9. 登录服务器验证

mysql> select version();
+------------+
| version()  |
+------------+
| 5.1.36-log |
+------------+
1 row in set (0.00 sec)

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
***************************************************************************************************
3. source 源码安装
 ./configure 生成 Makefile <- 软件组件功能,编译规则,安装规则
mysql-5.1.36.tar.gz源码安装

1. 停止二进制版本, 删除 /usr/local/mysql
2. 解压 /usr/src
3. 编译定制
./configure --prefix=/usr/local/mysql --enable-local-infile --with-charset=gbk --with-extra-charsets=utf8,gb2312 --with-pthread --with-unix-socket-path=/var/run/mysqld/mysql5.socket --with-mysqld-user=mysql --with-debug --with-big-tables --with-plugins=partition,innobase,myisam,myisammrg,heap --with-mysqlmanager

  

服务器引擎 -> 
         Available plugins are: partition daemon_example
         ftexample archive blackhole csv example federated
         heap ibmdb2i innobase myisam myisammrg ndbcluster

4. 生成服务器配置文件  -> /usr/local/mysql/etc/my.cnf

[mysqld]
port = 3306
socket = /var/run/mysqld/mysql5.socket     本地用户连接mysql的文件
pid-file = /var/run/mysqld/mysql5.pid
general-log
general-log-file = /var/log/mysqld/mysql5-access.log
log-error = /var/log/mysqld/mysql5-error.log
user = mysql
datadir = /database

确保目录存在,属性正确

5. 生成客户端配置 -> /etc/my.cnf 
[mysql]
socket=/var/run/mysqld/mysql5.socket

6. 生成启动服务脚本
/usr/src/mysql-5.1.36/support-files/mysql.server /etc/rc.d/init.d/mysqlnew

修改 mysqlold <- 755

basedir=/usr/local/mysql
datadir=/database
pid_file= /var/run/mysqld/mysql5.pid
conf=/usr/local/mysql/etc/my.cnf


7. 创建数据库,并初始化

mkdir /database 
cd  /usr/local/mysql
./scripts/mysql_install_db

验证 -> ls /database/mysql/

chown mysql:mysql /database /usr/local/mysql

8. 启动服务器
chown mysql:mysql /var/run/mysqld/ /var/log/mysqld /database/ /usr/local/mysql/ -R

9. 登录服务器验证

mysql> select version();
+------------------+
| version()        |
+------------------+
| 5.1.36-debug-log |
+------------------+
1 row in set (0.00 sec)

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)