mysql数据库

原创 2018年02月03日 14:36:18
数据库的基本操作
数据库:由表格组成(可以理解为高级excel)(功能:信息的存储)

yum install mariadb-server.x86_64 -y
systemctl start mariadb
mysql(就直接能进入数据库)

安装完不能直接使用,因为数据库没有密码,并且端口裸露在外面,需要做安全初始化
netstat -antlupe | grep mysql(查看端口)




安全初始化:
1)关闭端口
rpm -qc mariadb-server(查看mysql所属文件)




vim /etc/my.cnf(更改通用配置文件)
##
在masql的段里写skip-networking=1(=1 开启)
##
systemctl restart mariadb.service(重启服务)
netstat -antlupe | grep mysql(再次查看,没有显示端口)




2)改密码

mysql_secure_installation
给root密码
Remove anonymous users?关闭匿名用户连接
Disallow root login remotely?关闭远程root用户连接
Remove test database and access to it? 移除测试数据库
Reload privilege tables now?重新加载数据库配置
##一顿操作之后就设置好密码了##(以上全选yes)
mysql -uroot -p(用这样的方式登陆,也可以在-p后面直接加密码,但是是明文的所以一般不这么操作)

进来之后,用大写,显得比较专业,必须分号结尾,而且这里Tab键不能补齐。

在数据库中的一些指令
show databases;                显示数据库
use mysql;                进入数据库
show tables;                显示数据库中的表
desc user;                查看user表的数据结构
flush privileges;            刷新数据库信息
select host,user,password from user;    查询user表中的host,user,password字段

应用一下
CREATE DATABASE westos;            创建westos数据库
SHOW DATABASES;             查看数据库

USE westos;                 进入westos数据库



   

create table linux(            创建表,username,password字段
username varchar(15) not null,        (not null:不能为空值,最大输入字符为15个汉字)
password varchar(15) not null
 );
SHOW TABLES;                显示数据库中的表
DESC linux;                查看linux表中的数据结构



INSERT INTO linux VALUES ('lee','123'); 在linux表中加入两个字段对应的数据分别为lee和123

INSERT INTO linux VALUES ('lee1','456');同样的加入数据了lee1和456
SELECT username,password FROM linux;    查询在linux表中的指定字段
SELECT * FROM linux;            查询在linux表中的所有字段



更改:

ALTER TABLE linux ADD class varchar(20); 在linux表中加入class字段




ALTER TABLE linux ADD age varchar(20) AFTER password; 在password后加入age字段




ALTER TABLE linux DROP class;        删除class字段




UPDATE linux SET password='789' WHERE username='lee1'; 给linux表中lee1的那行的password中的数据改成789




ALTER TABLE linux RENAME redhat;    改表的名字




删除:

DELETE FROM linux WHERE username='lee1'AND password='789';删除数据lee1(为了防止重名,所以又加了一个789来限定)




DROP TABLE redhat;            删除redhat表




DROP DATABASE westos;            删除linux库



用户授权

mysql -uroot -p                     先以root身份进入mysql
CREATE USER lee@'localhost' identified by 'westos';    创建一个名字叫lee的用户,密码为westos
USE mysql;

SELECT User,Password FROM user;                查看建立的用户信息(有lee)




mysql -ulee -pwestos                    
SHOW DATABASES;                        查看数据库,无法查看




切换到超级用户

GRANT SELECT,INSERT on westos.* TO lee@localhost;    给lee用户在访问westos库下的所有表时都有访问权限(SELECT)和插入权限(INSERT)




SHOW GRANTS FOR lee@localhost;                查看lee权限

REVOKE INSERT ON westos.* FROM lee@localhost;        删除lee在westos库下的所有表的插入权限
切换到lee,果然插入不了。



忘记本地用户密码:

select User,Password from user;                查看建立的用户信息
update mysql.user set Password=password('hello') where User='lee';    更改密码,password()为密文显示,否则查看时(select User,Password from user;)会显示设置的密码明文
systemctl restart mariadb.service
成功





忘记超级用户密码:

systemctl stop mariadb(关闭数据库)
mysql(进不去)




需要启动mysql安全模式

mysqld_safe --skip-grant-tables &//启动mysql时不开启授权表
这样就进入安全模式了
mysql(进去了)
update mysql.user set Password=password('redhat') where User='root';(给root一个新密码redhat)

ps aux | grep mysql(查看mysql的进程id)




kill -9 2285
kill -9 2440(结束所有mysql进程)
ps aux | grep mysql(看一眼,没有和mysql相关的进程了)




systemctl start mariadb

然后用root登陆,成功



备份一个库:

先建立一个库



然后用到备份命令

mysqldump -uroot -predhat westos > /mnt/westos.sql ##把westos库备份到/mnt/westos.sql中
mysqldump -uroot -predhat westos --no-data > /mnt/westos.sql ##把westos库的格式备份(不带数据)
mysqldump -uroot -predhat --all-database > /mnt/westos.sql ##把所有库备份
mysqldump -uroot -predhat --all-database --no-data > /mnt/westos.sql ##把所有的库只备份格式

PS:保存在文件中,规范化--->后缀写为.sql(后缀什么都无所谓)

然后删掉原来的库
DROP DATABASE westos;
恢复方式1
mysql -uroot -predhat -e "CREATE DATABASE westos;"
mysql -uroot -predhat westos < /mnt/westos.sql
恢复方式2
vim /mnt/westos.sql()
##
CREATE DATABASE westos;
USE westos;
##




mysql -uroot -predhat < /mnt/westos.sql(导入数据库)

mysql -uroot -predhat



在浏览器中用用图形界面控制数据库

1)下载phpMyAdmin-3.4.0-all-languages.tar.bz2(lftp 172.25.254.250 然后get下来)
2)yum install php -y ##安装php
3)yum install php-mysql -y ##安装mysql的php图形界面
4)systemctl restart httpd
5)tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/ ##解压(-C表示解压到目录中)
6)cd /var/www/html ls
7)mv phpMyAdmin-3.4.0-all-languages mysqladmin
8)cd mysqladmin/
9)cp config.sample.inc.php config.inc.php
10)关掉火墙
测试:访问http://172.25.254.120/mysqladmin

成功



MySQL数据库介绍

1.       MySQL数据库介绍MySQL 是瑞典的MySQLAB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL完全适用...
  • joliny
  • joliny
  • 2008年11月23日 19:17
  • 4685

mySQL数据库学习的一些心得

最近接触 mySQL 有一段时间了,积累了一些心得,总结一下:         (1)数据可视化                  数据本身是抽象的,一款优秀的数据库可视化软件可以大大提高工作效率...
  • yangguangqizhi
  • yangguangqizhi
  • 2016年10月14日 10:54
  • 349

如何完全的卸载MySQL数据库

如何完全的卸载MySQL数据库 MySQL数据库的重新安装是一个麻烦的问题,很难卸除干净,下面是一些详细的 步骤,mark一下,需要的时候可以 查询: 1. 在控制面板 -> 管理工具 -> ...
  • reggergdsg
  • reggergdsg
  • 2016年01月30日 17:57
  • 2477

如何简单进行mysql数据库操作

本文目标:虽然不是专业程序员,由于工作需要,也需要写一点代码,比较长的代码可以分层,其中一个层是数据访问层,用于读写数据库,本人常用mysql,在此总结一下如何实现mysql读写操作。 自己的经验:...
  • liyun211
  • liyun211
  • 2017年03月15日 09:12
  • 1216

mysql数据库下载、安装、使用

1. 进入mysql官方网站:http://www.mysql.com/ 2. 依次进入:Downloads -> Community -> MySQL on Windows / MySQL Inst...
  • pansanday
  • pansanday
  • 2016年05月05日 11:51
  • 6463

mysql 中的mysql数据库不见了

诸位高手,不知什么原因,我在mysql>后输入 show databases; 只出现information_schema和test两个数据库,mysql数据库不知道哪去了,是什么原因,做其他东西需要...
  • liangmoren
  • liangmoren
  • 2017年04月29日 18:50
  • 2761

javascript链接mysql数据库实例

//创建数据库连接对象 var conn = new ActiveXObject("ADODB.Connection"); //创建数据集对象 var rs = new ActiveXObjec...
  • akuiguosheng
  • akuiguosheng
  • 2017年06月15日 11:44
  • 1125

Android开发之连接MySQL数据库(一)

本文转载自:http://blog.csdn.net/veryitman/article/details/7764894#comments,之前不太懂在Android怎么连接MySQL的,感谢原文作者...
  • itluochen
  • itluochen
  • 2016年08月11日 12:37
  • 5200

在Tomcat下连接到Mysql数据库(转载)

建立的过程其实是在tomcat/conf/Catalina/localhost/下建立了一个和虚拟站点名称相同的.xml文件.打开这个文件,就可以看到全部内容如:              url  ...
  • cocojiji5
  • cocojiji5
  • 2007年05月09日 11:06
  • 1054

QT访问Mysql数据库

QT4默认不支持Mysql数据库访问,需要手动编译动态链接库qsqlmysqld.dll和qsqlmysql.dll。QT5默认支持Mysql数据库访问,默认已经生成了上述2个DLL文件。...
  • learn_sunzhuli
  • learn_sunzhuli
  • 2015年05月18日 21:19
  • 784
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql数据库
举报原因:
原因补充:

(最多只允许输入30个字)