1.什么是MySQL
(1)MySQL是一种关联数据库管理系统。
(2)关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库中,可以增加速度,提高灵活性。
(3)MySQL使用的是数据库常用标准化语言SQL语言。
(4)MySQL主要用于存储各类信息数据。如:员工姓名、身份ID、论坛用户信息、系统报表等。
2.关系型数据库(RDBMS)特点
(1)数据以表格形式出现。
(2)每行记录数据的真实内容。
(3)每列记录数据真实内容的数据域。
(4)无数的行和列组成一张表。
(5)若干的表组成一个数据库。
3.常用的关系型数据库
MySQL、Mariadb、Oracle、SQL server、PostgreSQL、DB2等
4.MySQL数据库引擎的选择
(1)MySQL常用引擎有:MyISAM、InnoDB
(2)MyISAM强调的是速度,执行速度比InnoDB快,但不支持事务,不支持外键;适用于执行大量的select查询操作,支持表锁。
(3)InnoDB强调的是性能,支持事务、外部键、行级锁等高级数据库功能,适用于执行大量的insert或update操作。
5.InnoDB数据库引擎特性
(1)提供事务支持,具有ACID特性。
(2)原子性(Atomicity):一个事务的所有操作要么全部完成,要么全部不完成,不会结束在中间某个环节。如果在执行过程中出错,会回滚到事务执行之前的状态。
(3)一致性(Consistency):事务开始或结束,数据的完整性不会被破坏,这说明写入的数据必须符合预设规则,这包括数据的精度和串联性;以及后续数据库可以自发的完成预定工作。
(4)隔离性(Lsolation):提供支持 并发对数据进行读写和修改,可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别:未提交、读提交、可重复读和串行化。
(5)持久性(Durability):事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。
6.MySQL数据库的安装方式
(1)yum安装
yum -y install mysql-server mysql-devel mysql-libs #centos6.x版安装方式
yum -y install mariadb mariadb-server mariadb-libs
#cenots7.x版安装方式
(2)源码安装MySQL5.5版
1)上传或下载源码包
wget http://downl.chinaunix.net/distfilesl/mysql-5.5.20.tar.gz2)安装依赖包
yum -y install gcc-c++ ncurses-devel bison-devel cmake3)解压源码包并进入,预编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EXTRA_CHARSETS=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_BIG_TABLES=1 \ -DWITH_DEBUG=0 \4)创建数据库启动用户、安装目录、数据存放目录、socket文件
groupadd mysql useradd -g mysql -r mysql mkdir /usr/local/mysql5 mkdir /data/mysql -p touch /tmp/mysql.sock5)编译并安装
make && make install6)初始化数据库
/usr/local/mysql5/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql57)修改安装目录属主和属组
chown mysql:mysql /usr/local/mysql5/* -R8)拷贝配置文件、启动脚本并加入系统服务,设置开机自启
cp /usr/local/mysql5/support-files/my-default /etc/my.cnf cp /usr/local/mysql5/support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld chkconfig --add mysqld
chkconfig --level 35 mysqld on9)将MySQL数据库bin目录下的启动脚本链接至/usr/bin目录下,启动MySQL数据库,安装完成。
ln -s /usr/local/mysql5/bin/* /usr/bin/ service msyqld restart
(3)源码安装5.7版
1)上传或下载MySQL源码包和boost库源码包;
wget http://......... wget http://nchc.dl.sourcedforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz2)解压源码包,并将解压后的boost移动至/usr/local/目录下,并改名为boost;
mv boost_1_59_0 /usr/local/boost3)安装依赖包
yum -y install gcc-c++ ncurses-devel cmake perl autoconf automake zlib libxml libgcrypt libtool bison4)预编译操作
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EXTRA_CHARSETS=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_BIG_TABLES=1 \ -DWITH_DEBUG=0 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/boost \5)创建数据库启动用户、安装目录、数据存放目录、socket文件
groupadd mysql useradd -g mysql -r mysql mkdir /usr/local/mysql5 mkdir /data/mysql -p touch /tmp/mysql.sock6)编译并安装
make && make install7)初始化;初始化后会生成默认密码,记住默认密码随后登陆数据库进行修改。
/usr/local/mysql5/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql5 --datadir=/data/mysql8)拷贝启动脚本并加入系统服务,链接/usr/local/mysql5/bin目录下启动脚本,启动数据库。
cp /usr/local/mysql5/support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld chkconfig --add mysqld ln -s /usr/local/mysql5/bin/* /usr/bin/
service mysqld start9)修改数据库密码
mysql -uroot -p默认密码 alter user 'root'@localhost identified by "123456";
flush privileges;
quit;