实验环境
使用系统为CentOS6.5 x64
mysql版本为mysql-5.5.24.tar.gz
配置步骤
安装编译工具以及mysql所需软件包
[root@CentOS-3 ~]# yum install -y \
> gcc \
> gcc-c++ \
> cmake \
> make \
> ncurses-devel
创建一个mysql账号,结合“-s”选项选择登录shell
[root@CentOS-3 ~]# useradd -s /sbin/nologin mysql
[root@CentOS-3 ~]# mkdir /usr/local/mysql //创建mysql目录
解压mysql到安装目录
[root@CentOS-3 ~]# tar xf /mnt/mysql-5.5.24.tar.gz -C /usr/local/mysql/
[root@CentOS-3 ~]# cd /usr/local/mysql/mysql-5.5.24/ //切换到源码目录
[root@CentOS-3 ~]# cmake \ //使用cmake定义参数
>DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
>DMYSQL_DATADIR=/home/mysql/ \
>DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
>DWITH_MYISAM_STORAGE_ENGINE=1 \
>DWITH_INNOBASE_STORAGE_ENGINE=1 \
>DWITH_ARCHIVE_STORAGE_ENGINE=1 \
>DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
>DENABLED_LOCAL_INFILE=1 \
>DDEFAULT_CHARSET=utf8 \
>DDEFAULT_COLLATION=utf8_general_ci \
>DEXTRA_CHARSETS=all \
>DWITH_SSL=system \
>DMYSQL_TCP_PORT=3306 \
>DENABLE_DOWNLOADS=1 \
>DWITH_SSL=bundled
[root@CentOS-3 mysql-5.5.24]# make && make install //编译并安装
修改mysql目录下所有文件属主和属组
[root@CentOS-3 mysql-5.5.24]# chown -R mysql.mysql /usr/local/mysql
添加环境变量
[root@CentOS-3 mysql-5.5.24]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@CentOS-3 mysql-5.5.24]# source /etc/profile //初始化环境变量,使其立即生效
建立配置文件
[root@CentOS-3 mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? yes
将mysql添加到service管理
[root@CentOS-3 mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld
[root@CentOS-3 mysql-5.5.24]# chmod +x /etc/init.d/mysqld //添加执行权限
添加到chkconfig中,设置235级别自动启动
[root@CentOS-3 mysql-5.5.24]# chkconfig --add mysqld
[root@CentOS-3 mysql-5.5.24]# chkconfig --level 235 mysqld on
[root@CentOS-3 mysql-5.5.24]# ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock //创建链接文件
编辑/etc/init.d/mysqld脚本,搜索basedir添加如下内容
[root@CentOS-3 ~]# vi /etc/init.d/mysqld
初始化数据库
[root@CentOS-3 ~]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \ //指定用户
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql \ //基本目录
> --datadir=/home/mysql //数据目录
启动mysql数据库
[root@CentOS-3 ~]# service mysqld start
Starting MySQL..... [确定]
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# netstat -anpt | grep mysqld //mysql监听在TCP 3306端口
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13447/mysqld
[root@CentOS-3 ~]# mysql -u root //登录数据库,使用“-u”指定用户名
使用"SHOW DATABASES;"列出所有库
使用"USE mysql;"切换到mysql库中
mysql> USE mysql;
Database changed
mysql>
使用"SHOW TABLES;"列出库中的表
使用"DESCRIBE user;"命令查看user表的结构
使用格式“CREATE DATABASE 库名;”创建一个库
创建表的格式为:
CREATE TABLE 表名 (字段1 类型,字段2 类型,PRIMARY KEY(主键名));
在abc库中创建了一个名为users的表,NOT NULL表示不可以为空,主键为user_name
插入数据格式为:
INSERT INTO 表名(字段1,字段2) VALUES(字段1的值,字段2的值);
插入一行数据,用户名为zhangsan密码为abc123
查询表数据格式为:
SELECT 字段1,字段2 FROM 表名 WHERE 条件表达式
如果要显示所有字段可以用通配符“*”,例如
显示abc库中users表的所有内容
显示abc库中users表里user_name和user_passwd字段名为zhangsan的数据
修改表格式为:
UPDATE 表名 SET 字段名1=字段值1 WHERE 条件表达式
例如将“lisi”修改为“lisi456”
查看一下修改后的结果
删除表中的数据格式为:
DELETE FROM 表名 WHERE 条件表达式
例如,将abc库中users表内的tom用户数据删掉
删除表的格式为:
DROP TABLES 库名.表名;
例如将abc库中的users表删除
删除库的格式为:
DROP DATABASE 库名;
例如删除abc库
数据库用户授权
GRANT 权限列表 ON 库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY '密码' ]
权限列表:可以设置为select,insert,update如果想使用所有权限可以使用all
库名.表名:可以支持通配符*.*表示所有库所有表
用户名@地址:地址可以是域名或IP地址,可以使用%表示一个网段或所有地址:192.168.1.%,%(表示所有地址)
IDENTIFIED BY:此部分可以省略不写,不写则密码为空
例如为tom用户授权对所有库所有表拥有查询权限
查看权限格式:
SHOW GRANTS FOR 用户名@来源地址
查看tom用户权限
撤销权限格式:
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址
撤销tom的权限
刷新授权信息
为root用户设置密码格式:
mysqladmin -u root -p password 新密码
配置密码后登录就要结合-p选项验证密码了
数据库的备份与恢复
备份库中的部分表格式:
mysqldump [选项] 库名 [表名1] [表名2] > /PATH
例如将数据库中的abc库中的users表进行备份
-u用来指定用户名,-p用来进行密码验证
备份数据库中的一个或多个库格式:
mysqldump [选项] --databases 库名1 [库名2] > /PATH
例如将数据库中的abc库进行备份
恢复数据库格式:
mysql [选项] [库名] [表名] < /PATH
例如删除数据库中的abc库,然后在通过备份恢复数据库
删除成功已经没有abc库了
恢复数据
可以看出abc库已经恢复回来了
以上就是Mysql数据库的安装以及基本的 增 删 改 查 备份 还原,需要注意的是书写的时候注意格式后面都是有封号的(是英文的封号哦!),命令是不区分大小写的!