mysql
mysql 数据库
1.安装
源码安装:
1.先安装依赖包 yum install -y gcc make cmake ncurses-devel libxm12-devel libtool-ltdl-devel gcc-c++ autoconf automake bison zlib-devel 为数据库进程创建用户以及组账户,因为是服务进程所以该类账户无须登陆系统,设置shell为/sbin/nologin groupadd mysql useradd -r -s /sbin/nologin -g mysql mysql 解压源码包,并安装 tar -zxvf mysql- 5.6.12.tar.gz -C /usr/src/ cd /usr/src/mysql-5.6.12 cmake . -DENABLE_DOWNLOADS=1 make && make install 设置软件主目录的正确用户以及组 chown -R mysql.mysql /usr/local/mysql 使用mysql_install_db脚本初始化数据库,使用user定义数据库账户名称,使用basedir定义软件主目录,使用datadir定义数据库存放目录 /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data 初始化完成后需要将mysql主配置文件my.cnf复制一份到/etc/目录下 cp /usr/local/mysql/my.cnf /etc/my.cnf 在unix环境下,使用mysql_install_db程序进行初始化数据时,默认会创建一个用于测试用的空白数据库test,同时初始化程序还会再mysql数据库中创user数据表,该数据表为mysql数据库系统的账户以及权限表,这将导致一些问题 1.mysql.user 表中的root为超级管理员账户,然而该账户默认没有密码,因此可能导致非法用户在没有密码的情况下直接访问数据库 2.mysql.user 中默认创建了匿名账户,这些账号同样没有设置密码
查看默认创建的用户名和密码 mysql -u root -e "SELECT USER,HOST,password FROM mysql.user" 使用perl脚本删除无用账户 /usr/local/mysql/bin/mysql_secure_installation 使用mysqld_safe进程手动启动数据库服务进程 /usr/local/mysql/bin/mysqld_safe --user=mysql & 也可以通过软件包所提供的启动脚本mysqld.server来管理进程。设置开机启动 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on 设置环境变量 PATH=$PATH:/usr/local/mysql/bin/ echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
yum安装
安装
yum install -y mysql mysql-server
数据库启动,停止
service mysqld start/stop/restart
第一次启动MySQL服务后,我们需要对MySQL数据库进行初始化操作,设置root用户的密码,使用以下命令设置MySQL的root用户密码:
mysqladmin -u root password 'lee'
连接工具
1.mysql工具
mysql 是一个命令行sql工具,该工具支持交互式和非交互式运行,使用mysql命令非常容易,只需要在系统命令终端中输入mysql,即可进入管理界面
mysql
mysql -user=user_name -password=your_password 数据库名称
例子 mysql -u root -p 'lee'
mysql -u root -p -h 192.168.1.6
2.mysqladmin 工具
mysqladmin是一个执行管理操作的工具,使用它可以检查服务器配置,当前运行状态,以及创建,删除数据库等
mysqladmin [选项] 命令 [命令参数] [命令[命令参数]]
mysqldump工具
mysqldump [选项] db_name [table_name] mysqldump [选项] --databases db_name mysqldump [选项] --all-databases 备份 mysqldump -u root -p --all-database > all_database_sql mysqldump -u root -p --database mysql>mysql_database_sql mysqldump -u root -p mysql user> user_table 还原 mysql -u root -p <all_database_sql mysql -u root -p mysql < mysql_database_sql mysql -u root -p mysql <user_table
mysql 数据库下创建,删除,修改,查询
数据库
创建数据库
create database 数据库名
查看数据库
show databases
指定使用数据库
user 数据库名
修改数据库
alter database 数据名 更改选项
alter database lee default collate=utf8_general_ci 修改默认字符集
删除数据库
drop database 数据库名
表
常用的数据类型
TINYINT(n) 8位整数类型
SMALLINT(n) 16位整数类型
MEDIUMINT (n) 32位整数类型
INT(n) 32位整数类型
FLOAT(n,d) 浮点数
DATE 日期格式
TIME 时间格式
BIT 二进制数据
BLOB 非定长二进制数据
常用属性
NOT NULL 要求数据为非空
CREMENT 用户插入新的数据后对应整数数据列自动加1
KEY 普通索引列
PRIMARY KEY 创建住索引
DEFAULT CARSET 设置默认字符集
ENGINE 设置默认数据库存储引擎
创建表
create tables 表名
查看表结构
desc 表名
修改表结构
alter table 表名 选项
删除表
drop table 表名
删除索引
drop index 索引名 on 表名
重命名表
rename table 表名 to 新表名
插入信息
insert into 表名 属性
更新表信息
update 表名 set 属性
删除表信息
delet from 表名 属性
查询
select