数据库是存储和管理数据的仓库,但是数据库本身不能直接存储数据,数据存储在表中。存储数据必然会用到数据库服务器,即就是一台计算机上安装了数据库管理程序,如:mysql。
sql语言:用于管理数据库中的数据,如:存取数据,查询数据,更新数据。
数据定义语言(Data Definition Language,DDL):定义数据库,表等。
CREATE,ALTER,DROP语句
数据操作语言(Data Manipulation Language,DML):对数据库进行添加,修改,删除操作。
INSERT,UPDATE,DELETE等语句。
数据查询语言:查询数据
SELECT.
数据控制语言:控制用户的访问权限。
GRANT(增加用户权限),REVOKE(收回用户权限),COMMIT(提交事务),ROLLBACK(回滚事物)。
常见的数据库产品:
Oracle
SQL Server
DB2
*MongoDB
*MySQL(多用户,多线程)
mysql数据库的安装。
1.yum安装
mysql 软件可以在 http://www.mysql.com上下载,源码或是rpm包都可以,由于RHEL6, centos6自带mysql软件包,直接yum安装。
yum install mysql mysql-server -y
rhel7或者centos7默认使用的是mariadb数据库,本质一样
2.源码安装
软件包依赖性
yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel cmake
tar zxvf mysql-5.5.12.tar.gz
cd mysql-5.5.12
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安装blackhole存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装数据库分区
-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
-DWITH_READLINE=1 \ #快捷键功能
-DWITH_SSL=yes \ #支持SSL
-DDEFAULT_CHARSET=utf8 \ #使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
-DEXTRA_CHARSETS=all \ #安装所有扩展字符集
-DMYSQL_TCP_PORT=3306
make && make install
重新编译时,需要清除旧的对象文件和缓存信息
make clean
rm -f CmakeCache.txt
useradd -M -s /sbin/nologin mysql
cd /usr/local/mysql
cp support-files/my-large.cnf /etc/my.cnf #根据你的主机内存复制mysql配置文件
chown -R mysql.mysql .
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-- datadir=/usr/local/mysql/data 用户数据初始化
chown -R root .
chown -R mysql data
cp support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
chkconfig mysqld on 开机自启动
vi ~/.bash_profile
PATH=$PATH:/usr/local/mysql/bin
source ~/.bash_profile #使之生效
mysql_secure_installation #按提示完成mysql安全设置,生产环境推荐使用
注意:当mysql的版本为mysql5.7.11时,执行这一步,会生成加密的初始化密码,具体位 置请留意提示信息。
ln -s /usr/local/mysql/lib /usr/local/mysql/lib64 #不然php编译的时候找不到mysql的库文件
mysql最终启动不了,可能有以下原因:
1.之前的mysql没有关闭,导致套接字被占用
2.数据初始化失败
3.数据目录位置错误
4.数据目录权限不对