编译安装MySQL
- 准备工作
卸载rpm方式安装的mysql-server、mysql
安装ncurses-devel和cmake包
yum -y install ncurses-devel cmake
tar xf cmake-2.8.6.tar.gz -C /usr/src
cd /usr/src/cmake-2.8.6/
./configure && gmake && gmake install
这个过程需要时间 - 源码编译及安装
增加程序用户mysql
useradd -M -s /sbin/nologin mysql
解压mysql-5.5.22.tar.gz
tar xf mysql-5.5.22.tar.gz -C /usr/src
cmake配置,编译及安装
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_CHARSETS=all && make && make install - 安装后的优化操作
修改mysql安装目录的属主与属组
chown -R mysql:root /usr/local/mysql/
创建修改my.cnf配置文件
/bin/cp support-files/my-medium.cnf /etc/
添加系统服务
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld --add
chkconfig mysqld --list
添加MySQL命令执行的路径到PATKH环境变量
echo "export PATH=PATH 查看环境变量是否添加成功
更简单的设置方法为用下面命令做软链接:ln -s /usr/local/mysql/bin/* /usr/local/sbin/,把mysql命令说在路径链接到全局路径/usr/local/sbin/的下面。
执行 mysql_install_db脚本初始化数据库
/usr/localmydql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
--basedir=/usr/local/mysql为MySQL的安装路径,--datadir为不同的实例数据目录
启动MySQL服务,并查看运行状态
/etc/init.d/mysqld start
netstat -anpt |grep :3306
设置数据库用户名密码
mysqladmin -uroot password '密码'
MySQL数据库的分类及数据库操作
数据库简单的分为两种:
关系型数据库----------->mysql和Oracle
非关系型数据库--------->Memcached和Redis
消息队列中间件
什么叫做关系型数据库?SQL数据库
数据和数据之间是有关系的,通过关系能够将一系列数据都提取出来。
什么是非关系型数据库?NoSQL数据库(NotonlySQL)
数据和数据之间没有关系
关系型数据库MySQL和Oracle有什么区别?
其实,这两类数据库在使用方式上大体是没有太多的区别。都是基于SQL查询方式的数据库。但是Oracle是闭源的,出了问题有人管,因此,运维并不需要花太多精力在Oracle,在企业里可以学。MySQL是开源的,免费的,自然需要运维来维护的,但是通常来说,真正的数据库维护人员的职位叫做DBA=database administrator,他并不是广泛意义上的运维,只是数据库专业运维。市面上还有一种关系型数据库,叫做Maria DB,他和MySQL有什么关系?MySQL数据库最早是开源的,他和Maria几乎是一样的。
B/S架构模式与C/S架构模式的区别?
B/S=====>Web/server
用户通过Web浏览器打开输入域名就能够访问服务器Server的方式叫做B/S,用户不需要安装任何东西
C/S====>client/Server
所谓客户端在用户的电脑里是需要下载并安装的。
MySQL数据表
数据表以文件的形式展现,MySQL数据表由两部分组成:账户名@登陆IP
describe 表名 查看表的字段信息
四种对数据表进行SQL语句
增:inset into 表名[字段名] values 具体数值
删:delete from 表名 where 条件
改:update 表名 set 字段=‘数值’
查:select 字段名 from 表名
show databases 查看所有的库
create database 创建库
drop database 删除库
show tables 查看所有的表(先切换到这个表)
小库其实就是data目录下的子目录,开发管小库叫空间,小库的名字叫做空间名,空间名.表名
flush privileges 刷新 立即生效
updata 表名 set password=password(‘密码’) where host=‘localhost’修改密码
MySQL用户权限
grant 用户权限设置
grant all on . to '用户名'@'登陆IP' IDENTIFIED BY '密码'(第一个所有的库,第二个所有的表)
show grant 查看本地的用户权限
show grant for '用户名'@'登陆IP' 查看别人的用户权限
revoke 权限类型 on 库名表名 from '用户名'@'登陆IP' 撤销权限
%代表任意所有
代表任意一个字符
192.168.200.% 代表200网段的所有地址
192.168.200.代表1-9任意一个地址