mysql数据库环境的搭建,数据库创建,数据库对用户权限的设置,数据库密码的修改以及数据库的备份和恢复
mysql数据库环境的搭建,数据库创建,数据库对用户权限的设置,数据库密码的修改以及数据库的备份和恢复
一 数据库环境的搭建:
1. 首先需要搭建好yum源,之后安装数据库服务:
2. 开启数据库服务并关闭防火墙:
3 这时候的数据库默认是没有密码的,在shell里直接执行指令mysql就可以进入到数据库里面,这样的数据库是不安全的。需要给数据库设置密码。使用指令netstat -antlupe | grep mysql可以查看到mysql使用的是3306的端口:
4 对数据库进行密码设置,就需要跳过端口,在/etc/my.conf文件里面进行设置:
在空白行编辑skip_networking=1:
5 在文件配置完成后保存退出并重启数据库服务,此时就看不到数据库的端口了:
6 打开数据库安全安装程序:
7 进入之后首先会输入超级用户的密码,直接回车,接下来就是对用户密码的设定了:
接下来是对于一些其他权限的设定,设定完成之后,密码就设置成功了。
这时候直接进入msyql,就会显示不使用密码无法进入。
使用指令mysql -uroot -p 再输入密码就可以进入数据库了。要注意的是,比如说现在的密码是123,指令mysql -uroot -p123同样可以进入,这种方式是明文密码进入,在指令历史里可以查看到密码,不安全。所以最好用mysql -uroot -p之后输入密码进入。
二 数据库中的信息查看:
1 查看数据库中的库:SHOW DATABASES; (注意分号不能省略)
切换到目标数据库:USE mysql;
查看数据库中的表格:SHOW tables;
查看表格中的数据属性:DESC user;
查看表格中的具体内容:
SELECT User,Host,Password FROM user WHERE User=‘root’;
查看user表格里用户root的用户名,主机,密码:
三 数据库的创建:
1 创建库:CREATE DATABASE westos;
可以看到新建的数据库:
切换到westos数据库中:
在数据库中创建表格 CREATE TABLE linux(username varchar(6) not null,password varchar(50) not null;
创建名为linux的表格,并在表格中添加username和password两个属性且不能为空。
使用指定DESC linux就可以查看到添加的属性的具体信息了:
四 数据库的信息设置:
1 表格的重命名:将linux表格重命名为messge:
2 为表格添加新的属性:ALTER TABLE message ADD age varchar(50) 添加age这个属性,也可以在指令后面加上AFTER username来指定属性添加的具体位置:
3 属性的删除:ALTER TABLE message DROP age;
4 数据信息的插入:INSERT INTO message values (‘chen’,‘123’);
数据信息的插入需要注意的是插入的信息数据顺序要和表格的数据信息属性顺序一致,否则有可能因为数据类型的不匹配而导致数据插入失败。
5 数据信息的修改:
UPDATE message SET password=‘456’ WHERE username=‘chen’;
修改message表格中,username为chen的这一元组的密码password为456
6 数据的删除:
DELETE FROM message WHERE username=‘chen’;
删除message表格中username为chen的这一元组
7 删除数据表:DROP TABLE linux;
删除数据库:DROP DATABASE westos;
五 网页版的数据库搭建:
shell里面的数据库在使用时不太方便,我们可以搭建一个网页版的数据库:
1 安装php php-mysql服务并开启apache服务:
2 搭建网页版数据库首先需要准备一个phpMyadmin的文件,并将其放在/var/www/html目录下(apache的默认目录):
将文件加压并删除安装包:
将解压后的安装包重命名为mysqladmin,切换到安装包目录,将config.example.inc.php文件复制为config.inc.php,之后重启apache服务:
3 打开浏览器,输入172.25.254.145/mysqladmin/index.php就打开了网页版的数据库,可以选择语言,这里的用户名和密码与shell里面设置的数据库一致:
4 在这里同样可以进行数据库的创建和表格的创建操作:
六 用户权限设置
1 创建用户linux并设置密码为linux,创建的用户可以在mysql库中的user表里查看到:
2 用户授权:
GRANT INSERT,UPDATE。DELETE,SELECT on westos to linux@node145;
给linux用户对于westos数据库插入,更新,删除,查看的权限
3 用户权限的查看:SHOW GARNTS FOR linux@localhost;
4 用户权限的移除:
REBOKE INSERT,DELETE on linux from linux@localhost;
5 用户的删除:
DROP USER linux@localhost;
七 忘记超级用户密码的密码修改:
1 首先需要停止数据库服务,执行指令: mysqld_safe –skip-grant-table &在后台运行,之后输入\mysql进入到数据库里面:
2 查看mysql库中user表格的内容,其中有root用户密码的加密文段:
3 加密修改root用户的密码为123
修改之后的密码加密文段也发生了改变:
4 这时候的密码虽然修改了,但是步骤还没有完成。只修改密码文段并不能修改密码,也就是说,现在随便使用一个密码都可以进入数据库。比如刚才修改密码为123,此时用456同样可以进入数据库:
5 这就需要查看关于当前mysql的进程,并将它们全部关闭之后重启数据库服务:
这样以来别的密码就无法进入到数据库了,只有修改之后的密码可以:
八 数据库的备份和恢复:
1. 数据库的备份和删除:
2 数据库的恢复:
方法一:
将数据库备份到/mnt/westos.sql文件之后,vim /mnt/westos.sql文件,在空白行编辑:
CREATE DATABASE westos;
USE westos;
将备份的数据库文件再导入数据库就可以了:
方法二:
以指令的形式恢复数据库:
mysql -uroot -p123 -e “CREATE DATABASE westos;”
mysql -uroot -p123 westos < /mnt/westos.sql
需要注意的是如果在方法一的基础上恢复数据库之后,再将其删除,用方法二恢复数据库之前,需要先将方法一里面编辑的两行内容删除,否则会出错说数据库已存在。
九 数据库root用户密码修改:
前面提到的是忘记了数据库密码的修改密码操作,如果:
1 root用户目前没有密码,要设置密码为123: mysqladmin -uroot password 123
2 root用户有密码456,要设置密码为123: mysqladmin -uroot -p password 123 (会提示输入原有密码456)
mysqladmin -uroot -p456 password 123 (直接修改)