MySQL Install Manual
一、MySQL 的编译安装
准备工作
1、查看是否已经安装过MySQL,如果安装过建议使用(-e)将其卸载。
[root@localhost ~]# rpm -q mysql-server mysql ##查看是否有安装过MySQL
[root@localhost ~]# mount /dev/cdrom /mnt/ ##挂载光盘文件
[root@localhost ~]# rpm -ivh /mnt/Packages/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
##安装ncurses-devel支持包
2、MySQL 5.X 版本需要cmake编译安装,所以需要安装cmake包。
[root@localhost ~]# tar zxf cmake-2.8.6.tar.gz
[root@localhost ~]# cd cmake-2.8.6/
[root@localhost cmake-2.8.6]# ./configure
[root@localhost cmake-2.8.6]# gmake && gmake install
源码编译及安装
1、创建运行用户(mysql),此用户不需要登录系统,可以不创建宿主目录。
- [ ]
[root@localhost cmake-2.8.6]# groupadd mysql --创建组账号
[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql
-g mysql --创建用户
-M 不创建宿主目录,-s指定登录shell,禁止登录,-g指定组
2、解压下载好的源码包,解压目录/usr/src
[root@localhost ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/ 解包解压,-C 指定解压路径
[root@localhost ~]# cd /usr/src/mysql-5.6.36/ --进入软件目录
3、配置mysql、以便支持更多功能
`[root@localhost mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all` --配置
DCMAKE_INSTALL_PREFIX ##指定MySQL安装到那个路径下
DSYSCONFDIR ##指定初始化文件目录
DDEFAULT_CHARSET ##指定默认使用的字符集编码(如:utf8)
DDEFALUT_COLLATION ##指定默认使用的字符集校对规则,utf8_general_ci是适用于utf-8字符集的通用规则
DWITH_HXTRA_CHARSETS ##指定额外支持的其他字符集编码
4、编译安装
[root@localhost mysql-5.6.36]# make && make install --编译&安装
安装后的其他调整
1、对数据库进行权限设置、属主:属组
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql --递归修改归属
2、建立配置文件,因centos7默认支持mariadb数据库,所以系统默认的/etc/my.cnf配置文件是MariaDB的配置文件、
而在MySQL源目录中的support-files文件夹下,提供了MySQL数据可的样本配置文件my-default.cof文件,所以
我们需要拷贝my-default.cof文件到/etc路径下,并删除my.cof
[root@localhost mysql-5.6.36]# rm -rf /etc/my.cnf //删除默认存在的配置文件
[root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf //进入解压包,复制配置文件
[root@localhost ~]# vi /etc/my.cnf ##手动指定pid文件
pid-file=/usr/local/mysql/data/mysql.pid
:wq
3、初始化数据库,使用户mysql可以正常登陆,所以需要运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据库存放路径等。
[root@localhost mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
–user=mysql
--指定默认程序用户
–basedir=/usr/local/mysql --指定基本目录
–datadir=/usr/local/mysql/data/ --指定数据存放目录
data 数据
date 日期
4、设置环境变量,为了方便在认可目录下使用mysql命令,需要在/etc/profile设置环境变量
[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
5、添加系统服务
[root@localhost mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@localhost mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh
[root@localhost ~]# vi /usr/lib/systemd/system/mysqld.service
–新文件,为了可以使用systemctl工具控制服务
[Unit]
Description=The mysql Server
After=network.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile= ##PID文件为空
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop
[Install]
WantedBy=multi-user.target
:wq
[root@localhost ~]# systemctl start mysqld ##启动MySQL
[root@localhost ~]# systemctl enable mysqld ##设置为开机启动
[root@localhost ~]# systemctl status mysqld ##查看启动状态
[root@localhost ~]# netstat -anpt | grep
mysqld ##过滤mysql端口状态
------------------------------------
MYSQL中可以忽略大小写;每条操作语句以‘;’结尾。
进入mysql
直接输入mysql 进入数据库 默认进到0数据库 共16个数据库 序号为0-15
查看数据库的结构
1、查看当前服务器的数据库
SHOW DATABASES;
2、使用某一数据库
USE 数据库名
3、查看当前数据库中的表
SHOW TABLES;
4、查看当前数据库的状态。
status;
5、查看表的结构
DESCRIBE 表名
DESCRIBE 数据库名.表名
创建、删除库和表
6、创建新的数据库
CREATE DATABASE 数据库名
7、创建表
CREATE TABLE 表名 (列名1 数据类型,列名2 数据类型,… ,PRIMARY KEY (列名))
例如:创建如图所示的表
create table 学生信息表 (ID int not null,姓名 char(20) not null,性别 char(1) not null,年龄 int not null ,电话 char(11) not null ,出生日期 date );
8、删除表
DROP TABLE 数据库名.表名
9、删除数据库
DROP DATABASE 数据库名
管理表中的数据记录
10、插入数据记录
数据库中插入数据时,一次必须插入一条完整数据(一行记录);
除int类型外的所有数据类型赋值时都需要单引号引起来
INSERT INTO 表名(列名1,列名2)VALUES (值1,值2)
例如:
insert into 学生信息表 (ID,姓名,性别,年龄,电话,出生日期) values (10003,‘jack’,‘男’,20,‘13331556245’,‘1999-04-05’);
11、查询数据记录
SELECT 列名1,列名2 FROM 表名 WHERE 条件表达式
例如:
select * from 学生信息表 where 年龄 < 30 ;
12、修改/更新数据记录
UPDATE 表名 SET 列名=值 WHERE 条件表达式
例如:
update 学生信息表 set 性别 = ‘女’ where 姓名 = ‘tony’;
create 创建
databse
table
数据类型
int 整数型
char 字符串
date 日期
time 时间
数据库中插入数据时,一次必须插入一条完整数据(一行记录);
除int类型外的所有数据类型赋值时都需要单引号引起来
insert into 表名 (字段1,字段2…)values (值1,值2…);
select 列名 from 表名 where 条件(条件表达式);
update 表名 set 列名=更改后的值 where 条件(条件表达式);
比较运算符
<
=
<=
!= 不等于
update 更新
values 值
drop 删除
database
table
insert 插入数据
select 查询