1. mysql安装相关知识
mysql版本:
5.0-5.1:早期4.x的延伸
5.5-5.7:主流版本
8.x:最新版本
linux(centos)下安装mysql:
下载mysql应用程序:rpm -ivh 软件名.rpm
如果安装时与旧版本有冲突,需要卸载旧版本:yum -y remove mysql*
安装时日志会提示为mysql的root用户创建密码:mysqladmin -u root password 'new-password'
注意:安装时如果提示"GPG keys..."安装失败,解决方案:
rpm -ivh 软件名.rpm --force --nodoeps
验证是否安装成功:mysqladmin -version
启动:service mysql start
关闭:service mysql stop
重启:service mysql restart
在计算机reboot后登陆mysql:mysql
可能会报错:"/var/lib/mysql/mysql.sock不存在"
原因:mysql服务未启动
解决:启动服务
手动启动:/etc/init.d/mysql start
开机自启:chkconfig mysql on (chkconfig mysql off开机不自动启动)
检查开机是否自动启动:ntsysv
给mysql的root增加密码:mysqladmin -u root password root(最后一个root为密码)
登陆:mysql -u root -p root
数据库存放目录:
ps -ef|grep mysql
可以看到:
数据库目录:datadir=/var/lib/mysql
pid文件目录:--pid-file=/var/lib/mysql/bigdata01.pid
mysql相关目录:
安装目录:/var/lib/mysql
配置目录:/usr/share/mysql
命令目录:/usr/bin (mysqladmin、mysql)
启停脚本:/etc/init.d/mysql
mysql配置文件:
my-huge.cnf 高端服务器 1-2G内存
my-large.cnf 中等规模
my-medium.cnf 一般
my-small.cnf 较小
但是以上配置文件mysql默认不能识别,默认只能识别/etc/my.cnf,因此可以将my-huge.cnf拷贝成/etc/my.cnf
注意:mysql5.5默认配置文件是/etc/my.cnf,mysql5.6默认配置文件是/etc/mysql-default.cnf
mysql相关指令:
sql指令:show variables like '%char%'
可以发现部分编码是latin,需要统一设置为utf-8
设置编码:
编辑/etc/my.cnf文件,
在[mysql]和[client]标签下添加:(参数以中划线分隔)
default-character-set=utf8
在[mysqld]标签下添加:(参数以下划线分隔)
character_set_server=utf8
character_set_client=utf8
collation_server=utf8_general_ci
建议:在mysql安装完成后第一时间立即进行字符集编码修改
mysql清屏指令:ctrl+L(是linux清屏的统一指令) system clear(需要在mysql控制台输入)
2. mysql架构原理:
mysql由连接池组件、管理服务和工具组件、sql接口组件、查询分析器组件、优化器组件、缓冲组件、存储引擎组件和物理文件组成。mysql的重要特点就是在同一个库中支持多个存储引擎,因为存储引擎是针对表的。
mysql存储引擎:
InnoDB:目的:支持事务。特点:行锁设计、支持外键、支持读不加锁。5.6版本后mysql的默认存储引擎。
MyISAM:不支持事务、表锁设计,支持全文索引,面向OLAP应用。