一、MySQL简介
MySQL数据库是一个关系型数据库,是有MySQL BC公司研发,目前属于oracle公司旗下,在WEB中MySQL数据库时最理想的一种开源关系型数据库,应用软件之一。
MySQL数据库只要用于存储各类信息数据
目前主流架构LAMP(Linux+Apache+MySQL+PHP)
二、MySQL的特点
1、数据以表格形式出现
2、每行记录数据真实内容
3、每列记录真实数据内容的数据域
4、每行每列加起来形成一张表
5、每张表加起来形成一个数据库
三、MySQL安装方式
1、MySQL安装方式有两种方式:一种时yum/rpm源在线安装,一种通过源码软件编译安装
第一种yum和rpm源在线安装:
yum install mysql-server mysql-devel mysql-libs -y CentOS6.x YUM安装
yum install mariadb-server mariadb mariadb-libs -y CentOS7.x YUM安装
源码软件编译安装:
wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz
yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml2 libxml2-devel libgcrypt libtool bison
tar -xzf mysql-5.5.20.tar.gz
cd mysql-5.5.20
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56/ \
-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
make
make install
2、源码安装MYSQL5.7.20方法,通过cmake、make、make install三个步骤实现。
wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar zxvf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml2 libxml2-devel libgcrypt libtool bison
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
make
make install
/usr/local/mysql5/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql5 --datadir=/data/mysql
四、MySQL相关命令
1、show database -----查看所有数据库
2、create database “库名” ---创建数据库
3、use 数据库名 -----进入数据库
4、show tables ----查看数据库中的所有表
5、create table t1 (id varchar(20),name varchar(20)) ---创建表ti 并在T1表中创建ID name 两个字段
6、insert into t1 values ("1","jfedu"); 向表中插入数据;
7、select * from t1; 查看t1表数据内容;
8、Select * from t1 where id=1 and age =’jfedu’; id、age多个条件查询;
9、desc t1; 查看t1表字段内容;
10、alter table t1 modify column name varchar(20); 修改name字段的长度;
11、update t1 set name='jfedu.net' where id=1; 修改name字段的内容;
12、flush privileges; 刷新权限;
13、delete from t1 ; 清空表内容;
14、drop table t1 ; 删除表;
15、drop database jfedu; 删除jfedu数据库;
16、show variables like '%char%'; 查看数据库字符集;
17、show engines; 查看MySQL存储引擎;
18、show variables like '%storage_engine%'; 查看MySQL默认的存储引擎;
19、alter table t1 engine=innodb; 修改MySQL t1表存储引擎;
五、mysql修改密码
1、MySQL数据库密码在MySQL库中的user表中,进入库中进行检查更新。
use mysql
update user set password=password(‘123456’) where user=’root’;
2、修改完成MySQL root密码后,需停止以MySQL跳过权限表的启动进程,再以正常方式启动MySQL,输入新密码进行登录
fiush privileges
ect/init.d/mysql.start
mysql -uroot -p123456
六、mysql配置文件
1、[mysqld] //服务器端配置
2、datadir=/data/mysql //数据目录
3、socket=/var/lib/mysql/mysql.sock //socket通信设置
4、user=mysql //使用mysql用户启动;
5、symbolic-links=0 //是否支持快捷方式;
6、log-bin=mysql-bin //开启bin-log日志;
7、server-id = 1 //mysql服务的ID;
8、auto_increment_offset=1 //自增长字段从固定数开始;
9、auto_increment_increment=2 //自增长字段每次递增的量;
10、socket = /tmp/mysql.sock //为MySQL客户程序与服务器之间的本地通信套接字文件;
11、port = 3306 //指定MsSQL监听的端口;
12、key_buffer = 384M //key_buffer是用于索引块的缓冲区大小;
13、table_cache = 512 //为所有线程打开表的数量;
14、sort_buffer_size = 2M //每个需要进行排序的线程分配该大小的一个缓冲区;
15、read_buffer_size = 2M //读查询操作所能使用的缓冲区大小。
16、query_cache_size = 32M //指定MySQL查询结果缓冲区的大小
17、read_rnd_buffer_size = 8M //改参数在使用行指针排序之后,随机读;
18、myisam_sort_buffer_size = 64M //MyISAM表发生变化时重新排序所需的缓冲;
19、thread_concurrency = 8 //最大并发线程数,取值为服务器逻辑CPU数量×2;
20、thread_cache = 8 //缓存可重用的线程数;
21、skip-locking //避免MySQL的外部锁定,减少出错几率增强稳定性。
22、default-storage-engine=INNODB //设置mysql默认引擎为Innodb;
23、#mysqld_safe config
24、[mysqld_safe] //mysql服务安全启动配置;
25、log-error=/var/log/mysqld.log //mysql错误日志路径;
26、pid-file=/var/run/mysqld/mysqld.pid //mysql PID进程文件;
27、key_buffer_size = 2048MB //MyISAM表索引缓冲区的大小;
28、max_connections = 3000 //mysql最大连接数;
29、innodb_buffer_pool_size = 2048MB //InnoDB内存 缓冲数据和索引大小;
30、basedir = /usr/local/mysql55/ //数据库安装路径;
31、[mysqldump] //数据库导出段配置;
32、max_allowed_packet =16M //服务器和客户端发送的最大数据包;