linux mysql 维护_【Linux】Mysql数据库安装以及基本维护

实验环境

使用系统为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

a968d367ea1de7d38aa43873e6efeaa9.png

初始化数据库

[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”指定用户名

70e361b883daee259928dab5473c0770.png

使用"SHOW DATABASES;"列出所有库

5479ae2733ec61e96ec42e2f20546f9e.png

使用"USE mysql;"切换到mysql库中

mysql> USE mysql;

Database changed

mysql>

使用"SHOW TABLES;"列出库中的表

9b4eb376397fde509b3a26865d68ffd2.png

使用"DESCRIBE user;"命令查看user表的结构

75f9041efa28c87fa8cc72442b6118c7.png

使用格式“CREATE DATABASE 库名;”创建一个库

a949f5a6931c318c2e157455bf8ed275.png

创建表的格式为:

CREATE TABLE 表名 (字段1    类型,字段2    类型,PRIMARY KEY(主键名));

89d7a2699f0b9b63f9789d86576887fd.png

在abc库中创建了一个名为users的表,NOT NULL表示不可以为空,主键为user_name

插入数据格式为:

INSERT INTO 表名(字段1,字段2) VALUES(字段1的值,字段2的值);

df621b9d87b5d58292383543b93fdc30.png插入一行数据,用户名为zhangsan密码为abc123

查询表数据格式为:

SELECT 字段1,字段2    FROM 表名 WHERE 条件表达式

如果要显示所有字段可以用通配符“*”,例如

e51155cae38b95340cb30befa35aa2cb.png显示abc库中users表的所有内容

显示abc库中users表里user_name和user_passwd字段名为zhangsan的数据

62b345204da64418745fc0c4a3b7b902.png

修改表格式为:

UPDATE 表名 SET 字段名1=字段值1   WHERE 条件表达式

例如将“lisi”修改为“lisi456”

69a1a20d969867ea3a9930f1e36a1b3c.png

查看一下修改后的结果

e63ff7f502921f3ae8c8c8e10262de0b.png

删除表中的数据格式为:

DELETE FROM 表名 WHERE 条件表达式

例如,将abc库中users表内的tom用户数据删掉

b37343f2d47dc80210bb5351efc6d83c.png

删除表的格式为:

DROP TABLES 库名.表名;

例如将abc库中的users表删除

0e161edac4239a4385f07d70fe5a4b11.png

删除库的格式为:

DROP DATABASE 库名;

例如删除abc库

5fab9d7e0076f6ba65d12b4eb843dfd3.png

数据库用户授权

GRANT 权限列表 ON 库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY '密码' ]

权限列表:可以设置为select,insert,update如果想使用所有权限可以使用all

库名.表名:可以支持通配符*.*表示所有库所有表

用户名@地址:地址可以是域名或IP地址,可以使用%表示一个网段或所有地址:192.168.1.%,%(表示所有地址)

IDENTIFIED BY:此部分可以省略不写,不写则密码为空

例如为tom用户授权对所有库所有表拥有查询权限

54d4a5ead7e32f9738717e6ab746ca84.png

查看权限格式:

SHOW GRANTS FOR 用户名@来源地址

查看tom用户权限

b96bf1ab3452c1b60b1fab6b02186e8b.png

撤销权限格式:

REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址

撤销tom的权限

7963a3e0931b389cfa22d44c35b3af16.png

刷新授权信息

9cefa1b2ccdbb7e63b7bca542f3f22c5.png

为root用户设置密码格式:

mysqladmin -u root -p password 新密码

229bd5f2c70e009d8445b3cf97466ccc.png

配置密码后登录就要结合-p选项验证密码了

0985c683f841f9aa4496df4569cdbce2.png

数据库的备份与恢复

备份库中的部分表格式:

mysqldump [选项] 库名 [表名1] [表名2] > /PATH

例如将数据库中的abc库中的users表进行备份

1b03e0b04d43b62dd6284b7bb77bec57.png-u用来指定用户名,-p用来进行密码验证

备份数据库中的一个或多个库格式:

mysqldump [选项] --databases 库名1 [库名2] > /PATH

例如将数据库中的abc库进行备份

27a302fa0a571e4780f36e5a9c119db6.png

恢复数据库格式:

mysql [选项] [库名] [表名] < /PATH

例如删除数据库中的abc库,然后在通过备份恢复数据库

d70c3807b88d615a03ac2c9f39710188.png

421c9b50c039e749ad0239cf30ff4192.png

删除成功已经没有abc库了

恢复数据

3ad758dbfee83024365eeab4d82cf3b1.png

可以看出abc库已经恢复回来了

a5b4f390d45161d15a1262d472703832.png

以上就是Mysql数据库的安装以及基本的 增 删 改 查 备份 还原,需要注意的是书写的时候注意格式后面都是有封号的(是英文的封号哦!),命令是不区分大小写的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值