mariaDB
mariaDB
(服务器ip:172.25.254.206)
一、简介
mariadb是mysql的一个分支,是一款完全兼容mysql的开源软件。
二、部署、配置
1.安装
yum install mariadb-server -y
systemctl start mariadb
[[email protected] ~]# ss -antlupe|grep mysql #查看端口为3306
tcp LISTEN 0 50 *:3306 *:* users:(("mysqld",2162,13)) uid:27 ino:40704 sk:ffff880079cc4780 <->
2.安全初始化
[[email protected] ~]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
...
skip-networking=1 #表示隐藏网络端口
...
systemctl restart mariadb.service
[[email protected] ~]# ss -antlupe|grep mysql #重新启动服务发现已经看不到端口号了,增加了安全性
[[email protected] ~]#
mysql_secure_installation #设置数据库中root的密码
提示输入root旧密码,没有就直接敲回车
提示建立root新密码,输入密码
其余提示默认为Y,敲回车即可
[[email protected] ~]# 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安全模式并打入后台
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]# kill -9 2974
[[email protected] ~]# kill -9 3129 #关闭所有相关进程
systemctl start mariadb #打开mariadb,在确认已经关闭上面的进程后再打开
[[email protected] ~]# 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 [email protected] IDENTIFIED by 'student'; #创建student用户,密码student
#localhost表示student可以在本地登陆,这里写'%'就表示所有人都可以用student帐号登陆,命令:mysql -ustudent -pstudent -h 172.25.254.206
GRANT SELECT,INSERT,UPDATE ON redhat.* TO [email protected]; #授权student用户可以在redhat库里查询、插入、修改
SHOW GRANTS FOR [email protected]; #查看student用户权限
REVOKE INSERT ON redhat.* FROM [email protected]; #清除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