作者:苦中人 | 来源:互联网 | 2023-10-12 18:44
篇首语:本文由编程笔记#小编为大家整理,主要介绍了linux mysql相关的知识,希望对你有一定的参考价值。
一 数据库安装查看:
[[email protected] info Mariadb #包组
mariadb-server #服务器端
[[email protected] ~]# yum groupinfo MariaDB-Client #包组
mariadb
rpm -qf /usr/bin/mysql #软件包
mariadb #客户端包
[[email protected] ~]# cat /etc/my.cnf #配置文件
[[email protected] ~]# cat /etc/my.cnf.d/*.cnf #配置文件
[[email protected] ~]# yum groupinstall mariadb mariadb-client #安装包组
[[email protected] ~]# systemctl start mariadb #设置现在启动
[[email protected] ~]# systemctl enable mariadb.service #设置开机启动
[[email protected] ~]# ss -ntl #端口:3306
根据端口查看执行的程序
[[email protected] ~]#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(); #查看当前登录用户名
[[email protected] ~]# /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 #前面操作的权限是否生效
[[email protected] ~]# mysql -uroot -p #指定用户登录,-p密码
MariaDB [(none)]> select host,user,password from mysql.user; #没有切换目录,就应该指定是哪个数据裤中的表(mysql)
C6二进制安装mariadb
1)[[email protected] ~]# mkdir /app/data -p #规划数据存放地方
2)创建系统账号、
[[email protected] ~]# useradd -r -d /app/data -s /sbin/nologin -u mysql
[[email protected] ~]# chown mysql.mysql /app/data
3)解压程序
[[email protected] ~]# tar -xf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
[[email protected] ~]# cd /usr/local/
[[email protected] local]# ln -s mariadb-5.5.57-linux-x86_64/ mysql #建个软连接为mysql
[[email protected] local]# chgrp -R mysql mysql/ #运行mysql必须所属组为mysql,因为递归修改所有必须加上/,不然只改了目录。
4)指定数据库路径
[[email protected] local]# cat /etc/my.cnf #默认在lib下,可以到mysql/support-files中复制模板自己建
datadir=/var/lib/mysql
[[email protected] local]# cd mysql/support-files/
[[email protected] support-files]# ls
my-huge.cnf更大的数据库模板
my-large.cnf大的数据库模板
my-small.cnf小的数据库模板
my-medium.cnf中等的模板
[[email protected] support-files]# mkdir /etc/mysql
[[email protected] support-files]# cp my-huge.cnf /etc/mysql/my.cnf
[[email protected] support-files]# vi /etc/mysql/my.cnf #修改配置文件路径
datadir =/app/data
innodb_file_per_table=on #指创建的列表单独存放
skip_name_resolve=on
5)创建数据库文件
[[email protected] support-files]# cd /usr/local/mysql/scripts/ && ls #自定生成数据库文件
[[email protected] scripts]# cd ..
[[email protected] mysql]# scripts/mysql_install_db --datadir=/app/data --user=mysql #生成数据库指定路径
6)制作服务脚本
[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld && chkconfig mysqld on
[[email protected] mysql]# chkconfig --list mysqld
[[email protected] mysql]# touch /var/log/mysqld.log #建日志文件
[[email protected] mysql]# chown mysql /var/log/mysqld.log #日志必须有写权限
[[email protected] mysql]# service mysqld start #启动服务
7)添加到环境变量
[[email protected] mysql]# cd bin/
[[email protected] bin]# vi /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[[email protected] 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; #查看可登录的用户列表
[[email protected] bin]# mysql_secure_installation #设置口令
[[email protected] 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;