mariaDB

来源:互联网 发布:qq飞车黑夜传说数据 编辑:程序博客网 时间:2024/05/29 19:31

mariaDB

(服务器ip:172.25.254.206)

一、简介

mariadb是mysql的一个分支,是一款完全兼容mysql的开源软件。

二、部署、配置

1.安装

yum install mariadb-server -y

systemctl start mariadb

[root@mariadb ~]# ss -antlupe|grep mysql   #查看端口为3306
tcp    LISTEN     0      50                     *:3306                  *:*      users:(("mysqld",2162,13)) uid:27 ino:40704 sk:ffff880079cc4780 <->
2.安全初始化
[root@mariadb ~]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
          ...
skip-networking=1    #表示隐藏网络端口
          ...
systemctl restart mariadb.service 
[root@mariadb ~]# ss -antlupe|grep mysql    #重新启动服务发现已经看不到端口号了,增加了安全性
[root@mariadb ~]#

mysql_secure_installation    #设置数据库中root的密码

提示输入root旧密码,没有就直接敲回车

提示建立root新密码,输入密码

其余提示默认为Y,敲回车即可

[root@mariadb ~]# mysql -uroot -p
Enter password:         #输入刚才设置的root密码登陆数据库
3.数据库使用
1)修改超级用户密码

mysqladmin -uroot -p123456 password redhat

#123456是原始密码,redhat是新密码

2)忘记root密码

systemctl stop mariadb

mysqld_safe --skip-grant-tables &  #进入mariadb安全模式并打入后台

[root@mariadb ~]# mysql   #现在就可以免密码登陆数据库了
                      ...
MariaDB [(none)]> update mysql.user set Password=password('abcd') where User='root'; #修改用户表中的root的Password这个字段的内容,这串代码的意思是将root用户的密码改为abcd
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

MariaDB [(none)]> quit  #退出
Bye
[root@mariadb ~]# ps aux|grep mysql 查看打开的进程
root      2974  0.0  0.0 113248  1552 pts/0    S    21:23   0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     3129  0.1  4.6 859052 87540 pts/0    Sl   21:23   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root      3173  0.0  0.0 112640   936 pts/0    R+   21:25   0:00 grep --color=auto mysql
[root@mariadb ~]# kill -9 2974
[root@mariadb ~]# kill -9 3129  #关闭所有相关进程
systemctl start mariadb              #打开mariadb,在确认已经关闭上面的进程后再打开
[root@mariadb ~]# mysql -uroot -p  #登陆测试
Enter password:       #输入刚才设置的root密码,即abcd
4.数据库管理

1)建立

SHOW DATABASES;                                           #列出库

CREATE DATABASE redhat;                              #建立库

USE redhat;                                                          #进入库

CREATE TABLE linux (username varchar(10) not null,password varchar(50) not null,class varchar(30));  #建立linux表

DESC linux;                                                          #查看表结构

INSERT INTO linux VALUES ('tom','123','');     #插入数据到linux表中

SELECT * FROM linux;                                       #查询linux表中所有字段

SELECT username,password FROM linux;  #查询linux表中指定字段

2)更改

UPDATE linux SET password='ppp' WHERE username='tom';   #将linux表中tom用户的密码改为ppp

ALTER TABLE linux ADD age varchar(20);                                        #在linux表头增加age字段,默认添加在最后一列


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

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

ALTER TABLE linux RENAME centos;                                                #将linux表的名字改为centos

3)备份

mysqldump -u root -pabcd redhat > /mnt/redhat.sql   #将redhat库备份到/mnt下

mysqldump -u root -pabcd redhat --no-data                 #备份redhat库的表结构,不包含内容

mysqldump -uroot -pabcd --all-database                      #备份所有内容
mysqldump -uroot -pabcd --all-database --no-data    #备份所有表结构,不包含表内内容

4)删除

DELETE FROM centos WHERE username='tom';    #删除centos表中用户名为tom的这一行

DROP TABLE centos;                                                      #删除centos表

DROP DATABASE redhat;                                               #删除redhat库

5)恢复

1)方法1

mysql -uroot -pabcd -e "CREATE DATABASE redhat;"    #加-e “SQL命令”可以使用非交互方式建立redhat库
mysql -uroot -p redhat < /mnt/redhat.sql                           #将刚才备份的redhat库的内容还原到redhat库
Enter password:                                                                    #输入密码

查看,redhat库里的内容和以前的一模一样:


2)方法2

修改备份文件,在文件中增加创建库和进入这个库的指令:

vim /mnt/redhat.sql

 21 CREATE DATABASE redhat;
 22 USE redhat;
mysql -uroot -p redhat < /mnt/redhat.sql   #还原数据库
6)用户授权

CREATE USER student@localhost IDENTIFIED by 'student';                     #创建student用户,密码student

#localhost表示student可以在本地登陆,这里写'%'就表示所有人都可以用student帐号登陆,命令:mysql -ustudent -pstudent -h 172.25.254.206

GRANT SELECT,INSERT,UPDATE ON redhat.* TO student@localhost;  #授权student用户可以在redhat库里查询、插入、修改

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

REVOKE INSERT ON redhat.* FROM student@localhost;                           #清除student用户在redhat库里的插入权限

测试:


三、图形化管理工具phpMyAdmin

yum install httpd -y             #安装http服务

yum install php -y               #安装php来支持http发布phpMyAdmin
yum install php-mysql -y   #安装php-mysql来支持php对接mysql

下载phpMyAdmin-3.4.0-all-languages

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

mv phpMyAdmin-3.4.0-all-languages mysqladmin   #修改名称
cp -r mysqladmin  /var/www/html/                                 #放到http发布目录
systemctl start httpd                                                         #开启http服务
systemctl stop firewalld.service
测试:

访问172.25.254.206/mysqladmin

输入用户名密码登陆即可图形管理数据库,包括增、删、改、查等功能



四、部署论坛
下载Discuz_X3.2_SC_UTF8
unzip Discuz_X3.2_SC_UTF8.zip     #解压
cp -r upload /var/www/html/                #只复制解压出的upload到http发布目录

cd /var/www/html/

chmod ugo+w upload/ -R

测试:

访问172.25.254.206/upload