一 数据库安装查看:
[root@localhost info Mariadb #包组
mariadb-server #服务器端
[root@localhost ~]# yum groupinfo MariaDB-Client #包组
mariadb
rpm -qf /usr/bin/mysql #软件包
mariadb #客户端包
[root@localhost ~]# cat /etc/my.cnf #配置文件
[root@localhost ~]# cat /etc/my.cnf.d/*.cnf #配置文件
[root@localhost ~]# yum groupinstall mariadb mariadb-client #安装包组
[root@localhost ~]# systemctl start mariadb #设置现在启动
[root@localhost ~]# systemctl enable mariadb.service #设置开机启动
[root@localhost ~]# ss -ntl #端口:3306
根据端口查看执行的程序
[root@localhost ~]#ss -ntlp
MariaDB [(none)]> show databases; #查看当前的数据库
MariaDB [(none)]> use test; #切换到test数据库中
MariaDB [test]> show tables; #查看表
MariaDB [test]> use mysql #切换数据库
MariaDB [mysql]> show tables; #查看数据库中的表
MariaDB [mysql]> select * from user; #在表中列出所有字段
MariaDB [mysql]> desc user; #
MariaDB [mysql]> select host,user,password from user; #显示指定字段
MariaDB [mysql]> select user(); #查看当前登录用户名
[root@localhost ~]# /usr/bin/mysql_secure_installation #软件包自带的是设置密码工具
Enter current password for root (enter for none): #直接回车开始设置口令
OK, successfully used password, moving on...
Set root password? [Y/n] y #是否设置密码
Remove anonymous users? [Y/n] y #是否删除匿名账号
Disallow root login remotely? [Y/n] n #是否禁止远程root登录
Remove test database and access to it? [Y/n] y #是否删除test数据库
Reload privilege tables now? [Y/n] y #前面操作的权限是否生效
[root@localhost ~]# mysql -uroot -p #指定用户登录,-p密码
MariaDB [(none)]> select host,user,password from mysql.user; #没有切换目录,就应该指定是哪个数据裤中的表(mysql)
C6二进制安装mariadb
1)[root@pxe62 ~]# mkdir /app/data -p #规划数据存放地方
2)创建系统账号、
[root@pxe62 ~]# useradd -r -d /app/data -s /sbin/nologin -u mysql
[root@pxe62 ~]# chown mysql.mysql /app/data
3)解压程序
[root@pxe62 ~]# tar -xf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
[root@pxe62 ~]# cd /usr/local/
[root@pxe62 local]# ln -s mariadb-5.5.57-linux-x86_64/ mysql #建个软连接为mysql
[root@pxe62 local]# chgrp -R mysql mysql/ #运行mysql必须所属组为mysql,因为递归修改所有必须加上/,不然只改了目录。
4)指定数据库路径
[root@pxe62 local]# cat /etc/my.cnf #默认在lib下,可以到mysql/support-files中复制模板自己建
datadir=/var/lib/mysql
[root@pxe62 local]# cd mysql/support-files/
[root@pxe62 support-files]# ls
my-huge.cnf更大的数据库模板
my-large.cnf大的数据库模板
my-small.cnf小的数据库模板
my-medium.cnf中等的模板
[root@pxe62 support-files]# mkdir /etc/mysql
[root@pxe62 support-files]# cp my-huge.cnf /etc/mysql/my.cnf
[root@pxe62 support-files]# vi /etc/mysql/my.cnf #修改配置文件路径
datadir =/app/data
innodb_file_per_table=on #指创建的列表单独存放
skip_name_resolve=on
5)创建数据库文件
[root@pxe62 support-files]# cd /usr/local/mysql/scripts/ && ls #自定生成数据库文件
[root@pxe62 scripts]# cd ..
[root@pxe62 mysql]# scripts/mysql_install_db --datadir=/app/data --user=mysql #生成数据库指定路径
6)制作服务脚本
[root@pxe62 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@pxe62 mysql]# chkconfig --add mysqld && chkconfig mysqld on
[root@pxe62 mysql]# chkconfig --list mysqld
[root@pxe62 mysql]# touch /var/log/mysqld.log #建日志文件
[root@pxe62 mysql]# chown mysql /var/log/mysqld.log #日志必须有写权限
[root@pxe62 mysql]# service mysqld start #启动服务
7)添加到环境变量
[root@pxe62 mysql]# cd bin/
[root@pxe62 bin]# vi /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[root@pxe62 bin]# . /etc/profile.d/mysql.sh
数据库的运用:
MariaDB [(none)]> show databases; #查看数据库
MariaDB [(none)]> create database dalong; #新建数据库
MariaDB [(none)]> select user(); #查看当期登录用户
MariaDB [(none)]> select host,user,password from mysql.user; #查看可登录的用户列表
[root@pxe62 bin]# mysql_secure_installation #设置口令
[root@pxe62 bin]# mysql -uroot -p #用户登录
MariaDB [(none)]> help #查看帮助及命令简写
MariaDB [(none)]> status #查看数据库状态信息
MariaDB [(none)]> select version(); #查看版本信息
二 SQL语句分类:
DDL:数据的定义语言(创建,删除,修改)
DML:数据的操作语言(增 删 改)
DCL:数据的控制语言(指控制权限GRANT赋值权限;REVOKE取消权限)
DQL:数据查询语言
MariaDB [(none)]> use dalong; #切换数据库
添加表
MariaDB [dalong]> create table student (id int unsigned primary key, name varchar(20) not null ,age tinyint unsigned);
表示在dalong数据库中创建数据,表名为:student;id编号int整数unsigned正数primary key设置文主键,varchar(20)指输入姓名的字符空格长度;not null表示不允许为空,年龄,tinyint 整数 unsigned 为正数
MariaDB [dalong]> desc student; #查表结构
添加特产表:
MariaDB [dalong]> create table zztechan (id int unsigned primary key,name varchar(20) not null); #添加表.结构
MariaDB [dalong]> create table bjtechan (id int unsigned primary key,name varchar(20) not null);
MariaDB [(none)]> SHOW INDEXES FROM dalong.student; #查看表的所引,主键自带索引
MariaDB [(none)]> ALTER TABLE dalong.student ADD UNIQUE KEY(name); #建 给dalong表结构添加唯一,唯一建也带索引查看命令
MariaDB [(none)]> SHOW INDEXES FROM dalong.student;
给表格结构中加,删,改 数据
加
MariaDB [(none)]> use dalong #切换到数据中
MariaDB [dalong]> insert into student values (1,"mege",20); #添加
MariaDB [dalong]> select from student; #查看
MariaDB [dalong]> insert into student(name,id)values('zhao',2); #没有的信息不填,但要指定给那个添加。添加什么,前面的括号的数据和后面小括号的数据一一对应。 没写就是null
添加北京和郑州特产:
MariaDB [dalong]> insert into bjtechan values(1,'ky'); #烤鸭
MariaDB [dalong]> insert into bjtechan values(2,'dz'); #豆汁
MariaDB [dalong]> insert into zztechan values(2,'yrt');
MariaDB [dalong]> insert into zztechan values(1,'hm')
改:
MariaDB [dalong]> update zztechan set name='mm' where id=2; #表示yrt改为mm
MariaDB [dalong]> select from zztechan;
删除:
MariaDB [dalong]> delete from zztechan where id=2; #表示删除mm;不指定编号,会删除全部。
MariaDB [dalong]> select * from zztechan;