学习运维——MariaDB数据库,mariadb数据库
MariaDB数据库:一、MariaDB数据库的安装及其基本配置
1.[root@apache www]# yum install mariadb mariadb-server ##安装mariadb和maridb-server组件
2.[root@apache www]# systemctl start mariadb ##启动mariadb服务
3.[root@apache www]# netstat -antlpe | grep mysql ##查看mariadb的监听端口
LISTEN 0 50 *:3306 *:* users:(("mysqld",4125,14))
4.[root@apache www]# vim /etc/my.cnf ##修改mysql的配置文件
添加 此时只允许通过套接字文件进行本地连接,阻断所有来自网络的tcp/ip连接
5.改完之后重启mariadb服务
[root@apache www]# systemctl start mariadb
现在我们可以再次查看mariadb的监听端口
[root@apache www]# netstat -antlpe | grep mysql
可以发现mysql的端口没有开放
二、MariaDB数据库安全设置
[root@apache www]# mysql_secure_installation
只有下面这个需要我们输入密码,其他的都直接回车
Set root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!Reloading privilege tables..
... Success!
设置过密码后,还可以用这个命令来修改root用户在数据库的密码
测试:[root@apache www]# mysql -uroot -p
也可以直接[root@apache www]# mysql -uroot -predhat,但是这样不好
三、数据库的基本操作
首先进入数据库:
[root@apache www]# mysql -uroot -p
1.SHOW DATABASES; 显示现在所有的数据库
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wuwu |
+--------------------+
4 rows in set (0.00 sec)
2.CREATE DATABASE database_name; 创建新的数据库
MariaDB [(none)]> CREATE DATABASE haha;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| haha |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
3.USE database_name; 进入某个数据库
MariaDB [(none)]> USE mysql;
Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A
Database changed
4.SHOW tables; 显示库里的表
MariaDB [mysql]> SHOW tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.00 sec)
5.CREATE TABLE table_name (name VARCHAR(20), sex CHAR(1)); 创建表
MariaDB [mysql]> CREATE TABLE happy (name VARCHAR(20), sex CHAR(1));Query OK, 0 rows affected (0.46 sec)
6.SELECT * FROM table_name; 查看某一表中的所有列
7.INSERT INTO table_name VALUES ('wxh','M'); 向某一表中插入以行,插入内容时括号中的
MariaDB [mysql]> SELECT * FROM happy;Empty set (0.00 sec)
MariaDB [mysql]> INSERT INTO happy VALUES ('wxh','M');Query OK, 1 row affected (0.39 sec)
MariaDB [mysql]> SELECT * FROM happy;+------+------+| name | sex |+------+------+| wxh | M |+------+------+1 row in set (0.00 sec)
8.UPDATE table_name SET attribute=value WHERE attribute > value; 更新表中信息
MariaDB [mysql]> UPDATE happy SET sex='man' WHERE name='wxh';Query OK, 1 row affected, 1 warning (0.44 sec)Rows matched: 1 Changed: 1 Warnings: 1
9.DELETE FROM table_name WHERE attribute = value; 删除表中的某些行
MariaDB [mysql]> DELETE FROM happy WHERE name='wxh';Query OK, 1 row affected (0.37 sec)10.DROP TABLE table_name;
10.DROP TABLE table_name; 删除表
MariaDB [mysql]> DROP TABLE happy;Query OK, 0 rows affected (0.03 sec)
11.DROP DATABASE database_name; 删除数据库
MariaDB [mysql]> DROP DATABASE haha;Query OK, 0 rows affected (0.00 sec)
12.DESCRIBE table_name; 查看表结构
MariaDB [wuwu]> DESCRIBE happy;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| age | char(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
13.ALTER TABLE table_name add sex CHAR(1)##添加字段age
MariaDB [wuwu]> ALTER TABLE happy add sex CHAR(1);
Query OK, 0 rows affected (0.46 sec)
Records: 0 Duplicates: 0 Warnings: 0
还可以不进入数据库就可以对他进行操作:
#mysql -uroot -predhat -e "DROP DATABASES wuwu"
#mysql -uroot -predhat -e "SHOW DATABASES"
四、数据库的用户和其访问权限
1.创建用户
MariaDB [(none)]> CREATE USER bajie@localhost identified by 'redhat';
[root@apache www]# mysql -ubajie -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
2.用户授权
MariaDB [(none)]> SHOW GRANTS FOR wuwu@localhost; ##查看用户权限
MariaDB [(none)]> GRANT SELECT on *.* to wuwu@localhost; ##给wuwu授权,root用户才可以
1.备份数据库:
[root@apache www]# mysqldump -uroot -predhat --all-database ##备份数据库里的所有内容
[root@apache www]# mysqldump -uroot -predhat --no-data --all-database ##仅仅备份数据库结构
[root@apache www]# mysqldump -uroot -predhat mysql > /mnt/mysql.sql ##备份某一个库到一个指定目录下
2.恢复数据库:
# mysqladmin -uroot -predhat create db2# mysql -uroot -predhat db2 < westos.dump
[root@apache mnt]# mysqladmin -uroot -predhat create wuwu ##恢复数据库
[root@apache mnt]# mysqladmin -uroot -predhat password lee ##修改用户密码
用户密码忘记怎么办?
1.[root@apache mnt]# systemctl stop mariadb.service
2.[root@apache mnt]# mysqld_safe --skip-grants &
六、MariaDB的图形管理工具的搭建
1.进入/var/www/html,并把phpMyAdmin-3.4.0-all-languages.tar.bz2放到该目录下
2.将phpMyAdmin-3.4.0-all-languages.tar.bz2解压
#tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
3.修改解压后的名字(为了方便)
#mv phpMyAdmin-3.4.0-all-languages myadmin
修改完,就可以将phpMyAdmin-3.4.0-all-languages.tar.bz2删掉了
4.进入/var/www/html/myadmin
#cd myadmin
5.修改phpMyAdmin配置文件(config.inc.php)
1>#cp config.sample.inc.php config.inc.php
2>复制Documentation.txt里面的
粘贴到config.inc.php的对应位置
3>安装php-mysql.x86_64
#yum install php-mysql.x86_64
#systemctl restart httpd
5>在firefox访问172.25.254.190/myadmin/
此时就可以使用图形来管理MariaDB数据库了