数据库有两种类型,分别是关系型数据库与非关系型数据库
关系型数据库主要有:
Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等等。 非关系型数据库主要有: NoSql、Cloudant、MongoDb、redis、HBase等等
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
设置完成后尝试用密码去登录MariaDB
默认情况下,数据库的网络接口是打开的 为了安全需要关闭此接口 或者编辑配置文件/etc/my.cnf(vim /etc/my.cnf)写入skip-networking=1关闭网络接口 重启服务systemctl restart mariadb,再次查看mysql的端口3306就没有了varchar是可变长字符串,它与char的区别是 1.占据空间不同:char的长度是不可变的,而varchar的长度是可变的; 2、存取速度不同:char的存取数度比varchar要快得多,因为其长度固定,方便程序的存储与查找; 3、存储方式不同:char的存储方式是对英文字符占用1个字节,对汉字占用两个字节,而varchar的存储方式是对每个英文字符占用2个字节,汉字也占用2个字节;
INSERT INTO userlist VALUES ('shen','123'); 插入数据到userlist表中 INSERT INTO userlist VALUES ('shen','456'); 插入数据到userlist表中 SELECT * FROM userlist; 查询所有字段在userlist表中ALTER TABLE userlist ADD age varchar(5); 向表userlist中增加age列 ALTER TABLE userlist DROP age; 删除表中的age列 ALTER TABLE userlist ADD age varchar(5) AFTER username; 向username后加入age列 UPDATE userlist SET age='12'; 把表中所有的age列的值改为12 UPDATE userlist SET age='15' WHERE username='shen1'; 把表中username是shen1的列的age值改为15 INSERT INTO userlist VALUES('shen1','15','456'); 插入一个新用户shen1
首先关闭防火墙,取消掉之前修改的配置并开放端口3306,让其他主机可以通过网络登陆数据库
CREATE USER westos@'%' identified by 'westos'; 创建一个用户,密码为westos并且可以在任何地方可以登陆数据库 SELECT User,Host FROM mysql.user; CREATE USER lee@localhost identified by 'westos'; 创建一个用户名为lee,用户密码为westos的用户,只能在本地登陆数据库 SELECT User,Host FROM mysql.user;测试:分别在本机用lee用户和其他主机用westos用户测试: 其他主机同样需要安装mariadb,安装完后开启服务systemctl start mariadb.service 这是没有授权的情况: 这是授权之后的情况:
GRANT SELECT,INSERT,DELETE on westos.* TO westos@‘%s’; 授westos库的权利给其他用户 GRANT SELECT,INSERT,DELETE on mysql.* TO westos@‘%s’; 授mysql库的权利给其他用户 SHOW GRANTS FOR westos@‘%s’; 显示其他用户所拥有的权利数据库系统和文件系统一样,都是需要授权的,此时我们给两个用户都没有赋予权力,所以他们只能登陆,且只能看他能看到部分可见的数据库,我们需要root给他们赋予权力他们才能进行其他增删改查操作。 超级用户一次可以授予多个权力,用逗号,分开就行。
此时用其他用户登陆查看数据库,可以显示mysql和westos两个数据库 FLUSH PRIVILEGES; 刷新
数据库文件所在目录是/var/lib/mysql
mysqldump -uroot -pwestos westos > /mnt/wesots.sql 将数据库westos备份到/mnt下 mysqldump -uroot -pwestos westos --no-data 将数据库westos备份,不备份数据只备份表的结构 mysqldump -uroot -p --all-databases 备份所有数据库 mysqldump -uroot -p --all-databases --no-data 备份所有数据库的表的结构
恢复方式1:
mysql -uroot -p -e "CREATE DATABASE westos;" 先创建数据库 mysql -uroot -p westos < /mnt/westos.sql 再把备份的导入恢复方式2:
vim /mnt/westos.sql 在中间写入 CREATE DATABASE westos; USE westos; mysql -uroot -p < /mnt/westos.sql恢复成功!
知道原密码时
mysqladmin -uroot -pwestos password redhat 将原密码westos改为redhat mysql -uroot -predhat 用新密码登陆测试忘记原密码时: 1.首先,关闭数据库服务
systemctl stop mariadb.service2.开启安全模式,跳过授权表 ,因为会占用终端所以加&打入后台运行。
mysqld_safe --skip-grant-tables &3.此时任何用户都可以直接输入mysql登陆而不用密码 4.我们输入mysql后,在mysql数据库的user表中修改root的密码 5.结束所有进程,再开启数据库服务systemctl start mariadb.service 此时用mysql不能直接登陆数据库
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。 首先安装httpd服务,开启服务并设置为开机启动:
yum install httpd -y systemctl start httpd.service systemctl enable httpd.service获得phpmyadmin的压缩包,并把phpmyadmin的安装包在/var/www/html目录下解压,并解包,我们可以重命名为mysqladmin方便在浏览器下访问。
yum install lftp -y tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 解压并解包 mv phpMyAdmin-3.4.0-all-languages/ mysqladmin 重命名安装php,php-mysql两个包,此时可以通过php -m 命令查看mysql有没有出现,这表示已经运行php加载的模块。
yum search php yum install php.x86_64 -y yum install php-mysql.x86_64 -y php -mvim Documentation.txt并cp config.sample.inc.php config.inc.php,并将Documentation.txt中139行中的cookie的几个字符ba17c1ec07d65003添加到config.inc.php文件中,重启httpd服务systemctl restart httpd.service 此时,在浏览器中输入172.25.60.100/mysqladmin就可以访问了,建库,建表。在shell端可以检测
