什么叫数据库?
简单的数据库分两种:
1.关系型数据库:MySQL和Oracle和postgresql
2.非关系型数据库:Memcached和Redis
3.搜索引擎数据库:Elasticserch
4.时间序列数据库:influxDB
5.列数据库:hbase
6.图形数据库:mongodb
什么叫关系型数据库?MySQL
数据和数据之间是有关系的,通过一条数据关联出一堆数据。如此以来方便查询和检索。提高开发人员的查询效率,但是会拖累数据库。因此,关系型数据库不支持太高并发。
例:
主键--------主键就是关联几个表的,好让他们相互联系起来。
什么是非关系型数据库?
NoSQL数据库---Not only SQL
关系型数据库MySQL和Oracle之间有什么区别?
在使用方式上大体没有区别,都是基于SQL查询方式的数据库。但是Oracle是闭源的,收钱。
MySQL是开源的,免费。通常来说,真正的数据库维护人员的职位叫DBA。是数据库专业运维。(迈瑞儿数据库是在MySQL的基础上开发出来的,和MySQL基本没区别)
B/S架构模式与C/S架构模式的区别?
B/S=Web/Server
(用户通过Web浏览器输入域名就能访问服务器的server叫做B/S。用户不需要安装任何东西---例如网页游戏)
C/S=Client/Server
(客户端在用户的电脑里需要下载安装,通过客户端的方式访问叫做C/S。例如app游戏 )
编译安装MySQL:
包拉到xshell里(两个包)
挂载光盘
yum -y install ncurses-devel
tar xf cmake-2.8.6.tar.gz -C /usr/src/
cd /usr/src/cmake-2.8.6/
yum -y install gcc gcc-c++ make autoconf
./configure && gmake && gmake install (echo $?查看成功了没)
cd ~
tar xf mysql 5.5.22.tar.gz -C /usr/src/
cd /usr/src/mysql-5.5.22/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARESETS=all && make && make install
cd ~
useradd -M -s /sbin/nologin mysql (创建程序用户)
cd /usr/local/mysql (ls有很多目录,data目录是数据目录;bin命令目录;support-files提供了很多模板,比如启动脚本配置文件等;scripts里面存放的脚本)
cd .. (ll -d mysql 发现属主是root)
chown -R mysql:root /usr/local/mysql (这样程序用户就可以往进写数据了)
/bin/cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
/bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld (可以绝对路径启动)
chkconfig mysqld --add (加入开机自启动)(chkconfig mysqld --list查看)
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile (?修改环境变量,可做软链接)-----------或者用 ln -s /usr/local/mysql/bin/* /usr/local/bin/ 都可以,这样就有mysql了。
【在data目录下】 ls 有mysql和test都是空的,都是存放自生的信息的。
【初始化mysql】/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
cd ~
/etc/init.d/mysqld start (显示SUCCESS是成功)
netstat -antup | grep 3306
mysql--------------少东西?
mysqladmin -uroot password '123123' 给超户设密码
【mysql由两部分组成,账号名@登录的ip】
mysql -uroot -p 后面不跟密码,就要交互。跟了密码就免交互了。
---------------------------------------至此,MySQL数据初始化完毕----------------------------------------------