欢迎投稿

今日深度:

MySQL数据库管理,mysql数据库

MySQL数据库管理,mysql数据库


                          

mariadb 简介

    MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可 MariaDB 的目的是完全兼容MySQL ,包括 API 和命令行,是 MySQL 的代替品MariaDB 由 MySQL 的创始人 Michael Widenius (英语:Michael Widenius )主导开发,他早前曾以 10 亿美元的价,将自己创建的公司 MySQL AB 卖给了 SUN ,此后,随着SUN 被甲骨文收购, MySQL 的所有权也落入 Oracle 的手中MariaDB 名称来自 Michael Widenius 的女儿 Maria 的名字

 mysql_secure_installation  是 mariadb 自带的安全初始化脚本

 

 1.安装 Mariadb

 yum install mariadb-server -y      #安装数据库


 

 systemctl start mariadb           #打开数据库

 mysql                                     #可以登陆且无需密码

 netstat -antlpe | grep mysql    #查看mysql网络接口状态


 systemctl stop firewalld        #关闭火墙

 vim /etc/my.cnf

######


 systemctl restart mariadb        #重启数据库

 netstat -antlpe | grep mysql    #再查看时无网络接口


 mysql_secure_installation       #安全设置,并设定root用户的密码



 mysql                                     #登录失败,匿名用户不能登陆

 mysql -uroot -pwestos           #以root用户的身份密码登陆数据库,westos为密码


 

2.数据库的管理

 用命令的方式管理数据库:

 1)查询 SQL

    SHOW DATABASES;                  #显示所有数据库

    USE database_name;                #使用某个数据库

    SHOW tables;                           #显示所有表

    DESCRIBE table_name;              #显示某个表的数据结构

    SELECT * FROM table_name;     #显示某个表的数据信息

 

实验:

 mysql -uroot -p          #root用户密码登陆


MariaDB [(none)]> SHOW DATABASES;      #显示所有数据库


 MariaDB [(none)]> USE mysql                  #使用mysql数据库


MariaDB [mysql]> SHOW TABLES;           #显示所有mysql数据库中的所有表


MariaDB [mysql]> DESCRIBE  time_zone_name;     #查看mysql数据库中time_zone_name表的数据结构


MariaDB [mysql]> SELECT * FROM user;               #显示user表中的所有数据信息

 

MariaDB [mysql]> SELECT User,Host,Password FROM user;   #显示user表中User,Host,Password 字段的数据信息

 

 2)数据库的建立

 CREATE DATABASE database_name;                           #创建数据库

 CREATE TABLE table_name (name VARCHAR(20),        #创建表的结构及其属性

                                           sex CHAR(1));

 INSERT INTO table_name VALUES ('WESTOS','M');       #给某个表插入数据

 

实验:

 mysql -uroot -pwestos                                                #root用户密码登陆

MariaDB [(none)]> SHOW DATABASES;                        #显示所有数据库

MariaDB [(none)]> CREATE DATABASE westos;             #创建westos数据库

MariaDB [(none)]> SHOW DATABASES;                        #查看是否建立成功


 

MariaDB [westos]> USE westos;                    #使用westos数据库

MariaDB [westos]> SHOW TABLES;               #显示westos数据库里的表

MariaDB [westos]> CREATE TABLE linux(       #在westos数据库里创建linux表

    -> username varchar(6) not null,                 并指定表的数据结构

    -> passward varchar(20) not null);    

MariaDB [westos]> SHOW TABLES;               #查看linux表是否创建成功

MariaDB [westos]> DESC linux;                     #显示linux表的数据结构


MariaDB [westos]> INSERT INTO linux values ('lee','123');     #给linux表里插入数据

MariaDB [westos]> SELECT * FROM linux;                            #查看数据信息是否插入成功



3)数据库的更新

  1)表的结构的更改

 ALTER TABLE linux RENAME messages;                                   #更改表名

 ALTER TABLE linux ADD age varchar(50);                                 #给linux表添加age字段(默认添加到最后边)

 ALTER TABLE linux ADD age varchar(50) AFTER username;      #给linux表添加age字段(添加到username后边)

 ALTER TABLE linux  DROP age;                                               #删除age字段

 

实验:

MariaDB [westos]> SHOW TABLES;

MariaDB [westos]> ALTER TABLE linux RENAME messages;   #更改表名

MariaDB [westos]> SHOW TABLES;


MariaDB [westos]> ALTER TABLE messages RENAME linux;      #还原

MariaDB [westos]> SHOW TABLES;

MariaDB [westos]> DESC linux;                         #查看linux表的数据结构

MariaDB [westos]> ALTER TABLE linux ADD age varchar(50);  #添加字段

MariaDB [westos]> DESC linux;


MariaDB [westos]> ALTER TABLE linux  DROP age;      #添加字段,默认在最后边

MariaDB [westos]> DESC linux;

MariaDB [westos]> ALTER TABLE linux ADD age varchar(50) AFTER username; #指定位置处添加字段(在username之前)   注意:它不能插在最前边,则否会出现错乱

MariaDB [westos]> DESC linux;   


  2)表的数据的更改

 UPDATE linux SET passward='111' WHERE username='lee';     #将linux表中username为lee的passward更改为111

 DELETE FROM linux  WHERE username='lee';                          #删除linux表中username为lee的数据

 DROP TABLE linux;                                                                  #删除linux表

 DROP DATABASE westos;                                                        #删除westos数据库

 

实验:

MariaDB [westos]> SELECT * FROM linux;                         #查看linux表的数据信息

MariaDB [westos]> UPDATE linux SET passward='111' WHERE username='lee';    #更改表的数据

MariaDB [westos]> SELECT * FROM linux;


MariaDB [westos]> DELETE FROM linux  WHERE username='lee';     #删除表的某个数据

MariaDB [westos]> SELECT * FROM linux;

MariaDB [westos]> DROP TABLE linux;                          #删除linux表

MariaDB [westos]> SHOW TABLES;

MariaDB [westos]> DROP DATABASE westos;                #删除数据库


 

用网页的形式管理数据库:

 

 yum install httpd php -y                 #安装 Apache

 yum install php-mysql.x86_64 -y

 systemctl start httpd

 systemctl stop firewalld


 ##下载phpMyAdmin-3.4.0-all-languages.tar.bz2   

[root@localhost ~]#cd /var/www/html/

[root@localhost ~]#ls

[root@localhost ~]#lftp 172.25.254.250

lftp 172.25.254.250:/> cd pub/docs/software/

cd ok, cwd=/pub/docs/software

lftp 172.25.254.250:/pub/docs/software> ls

-rwxr-xr-x    1 1000     1000      3086326 Dec 25  2013 phpMyAdmin-2.11.3-all-languages.tar.bz2

-rwxr-xr-x    1 1000     1000      4548030 Dec 25  2013 phpMyAdmin-3.4.0-all-languages.tar.bz2

-rw-rw-r--    1 1000     1000      7203314 May 26 03:24 phpMyAdmin-4.0.10.20-all-languages.tar.gz

-rw-rw-r--    1 1000     1000      9561944 May 26 03:08 phpMyAdmin-4.8.1-all-languages.tar.gz

-rw-rw-r--    1 1000     1000      2713600 Jun 07  2015 taobao.tar

-rwxr-xr-x    1 1000     1000     52387876 Feb 01  2015 thunderbird-31.2.0-1.el7.x86_64.rpm

-rwxr-xr-x    1 1000     1000     36902724 Feb 01  2015 thunderbird-31.4.0.tar.bz2

lftp 172.25.254.250:/pub/docs/software> get phpMyAdmin-3.4.0-all-languages.tar.bz2                          #下载3.4版本的

4548030 bytes transferred                     

lftp 172.25.254.250:/pub/docs/software> quit

[root@dns-servser html]#ls

phpMyAdmin-3.4.0-all-languages.tar.bz2


若用u盘已经将3.4版本拷贝实验该怎么做:

在真机中

 

在虚拟机中 

tar jxf phpMyAdmin-3.4.0-all-       #解压 languages.tar.bz2                        

 ls

 rm -fr *.bz2                                   #删除安装包

 ls


 mv phpMyAdmin-3.4.0-all-languages/ mysqlamdin              #重命名

 ls

 cd mysqlamdin

 cp config.sample.inc.php config.inc.php                              



测试:

firefox里输入http://172.25.254.130/mysqlamdin/  便可打开网页管理数据库的用户登陆界面


 


3.数据库用户的管理

 建立用户:

CREATE USER student@'localhost' identified by 'studentt';     #创建本地用户student,密码为studentt

CREATE USER lee@'%' identified by 'redhat';                          #创建远程用户lee密码为redhat

 

 用户授权:

 SHOW GRANTS FOR wxh@localhost;                                    #查看用户的权限

 GRANT SELECT,UPDATE,INSERT,DELETE on mariadb.* to wxh@localhost;    #给mariadb数据库student用户 查询,更新,插入,删除 的权限

#mariabd表示某个数据库  wxh表示mariabd数据库中的某个用户

例如:

GRANT SELECT on westos.* to student@localhost;                 #给westos数据库的student用户查询权限

GRANT UPDATE  on westos.* to student@localhost;              #给westos数据库的student用户更新权限

GRANT INSERT  on westos.* to student@localhost;                #给westos数据库的student用户插入权限

GRANT DELETE  on westos.* to student@localhost;                #给westos数据库的student用户权限删除

 

撤销用户权限:

 REVOKE SELECT,UPDATE,INSERT,DELETE on mariadb.* from wxh@localhost;        #撤销用户查询,更新,插入,删除的权限

 

重载授权表:

FLUSH PRIVILEGES;

 

删除用户:

DROP USER wxh@localhost; 

 

实验:

MariaDB [(none)]> SELECT User FROM mysql.user;           #查看数据库的用户

MariaDB [(none)]> CREATE USER student@'localhost' identified by 'studentt';

#建立本地用户student(密码为studentt)

MariaDB [(none)]> SELECT User FROM mysql.user;          #查看用户是否建立成功


 MariaDB [(none)]> GRANT SELECT on westos.* to student@localhost;     #给查询权限

MariaDB [(none)]> SHOW GRANTS FOR student@localhost;                    #查看权限


 

MariaDB [(none)]> GRANT UPDATE  on westos.* to student@localhost;  #给更新权限

MariaDB [(none)]> SHOW GRANTS FOR student@localhost;


MariaDB [(none)]> GRANT INSERT,DELETE on westos.* to student@localhost;       #给插入,删除权限

MariaDB [(none)]> SHOW GRANTS FOR student@localhost;                                 #查看权限


 MariaDB [(none)]> REVOKE SELECT,UPDATE,INSERT on westos.* from student@localhost;  #撤销查询,更新,插入权限

MariaDB [(none)]> SHOW GRANTS FOR student@localhost;


MariaDB [(none)]> SELECT User FROM mysql.user;       #查看用户

MariaDB [(none)]> DROP USER student@localhost;      #删除student用户

MariaDB [(none)]> SELECT User FROM mysql.user;       #查看是否删除成功


 

超级用户密码忘记,如何处理:

 

 systemctl stop mariadb                          #关闭数据库

 mysqld_safe --skip-grant-tables &         #跳过授权表, &表示打入后台


 mysql                                                    #无密码登陆

MariaDB [(none)]> update mysql.user set Password=password('123') where User='root';         #更改root用户的密码为123  (更改方式为加密更改)


MariaDB [(none)]> select * from mysql.user;

MariaDB [(none)]> quit


 

 fg                                   #将刚打入后台的程序调回前台  

 killall -9 mysqld_safe       #结束mysql的所有进程


 ps aux | grep mysql         #过滤mysql的所有进程,可查看到3660进程正在运行

 kill -9 3550                     #结束正在运行的8168进程

 ps aux | grep mysql         #再次过滤,此时无进程运行


 systemctl start mariadb   #打开数据库

 mysql -uroot -p123         #登陆成功,说明密码修改成功



4.数据库的备份

mysqldump -uroot -predhat --all-database > /mnt/westos.all                    #备份所有数据库资料

mysqldump -uroot -predhat --all-database --no-data > /mnt/westos.err   #只备份数据库的数据结构,不备份数据库的数据信息

mysqldump -uroot -predhat westos > /mnt/westos.sql                               #备份westos数据库资料 到/mnt/westos.sql里

 

实验:

 mysql -uroot -p123 -e "CREATE DATABASE westos;"

 mysql -uroot -p123 -e "show databases;"              #显示所有数据库


 mysqladmin -uroot -p123 password 'lee'               #将root用户密码123修改为lee

 mysql -uroot -p123            #登陆不上

 mysql -uroot -plee             #可以登陆,说明更改成功



 mysqldump -uroot -plee westos > /mnt/westos.sql        #备份

 

恢复数据库的两种方式:

方法一

 mysql -uroot -plee -e "drop database westos;"     #删除westos数据库

 mysql -uroot -plee -e "show databases;"

 ls /mnt/

 mysql -uroot -plee westos < /mnt/westos.sql       #恢复westos数据库失败


  vim /mnt/westos.sql

###########


 mysql -uroot -plee < /mnt/westos.sql                 #恢复成功

 mysql -uroot -plee -e "show databases;"


 mysql -uroot -plee -e "select * from westos.linux;"

 

 方法二

 mysql -uroot -plee -e "drop database westos;"

 mysql -uroot -plee -e "show databases;"

 vim /mnt/westos.sql

##############

 

 mysql -uroot -plee -e "CREATE DATABASE westos;"                 #创建westos数据库

 mysql -uroot -plee  < /mnt/westos.sql                                     #恢复westos数据库

 mysql -uroot -plee -e "show databases;"

 

 

 

www.htsjk.Com true http://www.htsjk.com/mariadb/30271.html NewsArticle MySQL数据库管理,mysql数据库                            mariadb 简介     MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可 MariaDB 的目的是完全兼容...
相关文章
    暂无相关文章
评论暂时关闭