1.安装服务
[root@ftp2 ~]# yum install -y mariadb*
2.启动服务
[root@ftp2 ~]# systemctl start mariadb
3.进入Mysql
因为默认进入Mysql是不需要密码的,所以为了安全 我们可以帮他设置一个密码
4.设置超级用户root登录密码
输入mysqladmin -u root -p password 要设置的密码
输入原密码: 留空enter确定
注:没设置密码这里留空即可 如果更改密码为123456后想要再次更改密码在ENter password: 就不能留空 就要输入123456了
用户登录:Mysql -u 用户 -p密码 //-p直接跟密码 不要留空!
添加用户:
命令为grant 权限 on 数据库名.表名 to ‘用户名’@’登录方式’ identified by ‘密码’命令为grant 权限 on 数据库名.表名 to ‘用户名’@’登录方式’ identified by ‘密码’
登录:
权限:
Select 查询
Delet 删除
Update 更新
Alter 添加
登录方式:
% 所有远程登录
Localhost 只允许本地登录
指定的ip 只允许指定ip远程连接登录
数据库 表名由自己创建的。如果想要允许用户对所有数据库和表拥有某个权限不妨用*.*代替
5.创建数据库:
创建一个名为mydatabase的数据库:
注:结尾要用;结束!
查看数据库:
Show databases;
进入数据库
Use 表名
6.创建表
采用MySQL数据库作为认证来源,创建用户认证数据库为www,建立保存用户名及密码的表名为users,建立user1以及user2两个用户,生日分别设置为 1998-9-1和1999-9-1将其密码均设置为6666,并对密码采用password函数加密,表结构如下;
字段名 | 数据类型 | 主键 | 自增 |
ID | int | 是 | 是 |
name | varchar(10) | 否 | 否 |
birthday | datetime | 否 | 否 |
sex | char(1) | 否 | 否 |
Password | Char(8) | 否 | 否 |
7.创建表结构
8.查看表结构
Desc 表名:
9.创建表用户:
10.Update 更新表:
还需要创建一个名为user2的用户 我们采用导入的方法执行:
11.导入表:
1.创建一个名为mysql.txt的文本文件
2.登录一个拥有权限的用户 进入到数据库底下:
貌似导入不可以使用password加密-
load data infile ’/mysql.txt’ into table 表 fields terminated by ‘,’ lines termin
into table mystudent
fields terminated by’,’
lines terminated by’\n’:
数据库恢复:-在数据库删除后,重新创建数据库 然后导入 表就会恢复
Mysql -u root -p<mysql.sq
如果有导出的数据库 还可以在已经进入的数据库里面直接执行
source /数据库名称.sql
删除数据库:
Drop database 数据库名
Alter table delete from
12.删除表字段:
如果要删除某一字段,可用命令:ALTER TABLE mytablename DROP 字段名;
13.删除表数据库(sql语句)
删除userinfo表内 id为4的一行内容
MariaDB [userdb]> delete from userinfo where id =4;
14.表字段的选择:
从字段类型的执行效率上,int最高,varchar最低。
状态类型字段,使用char或者varchar是不可取的,int类型更容易建立索引和进行检索,毕竟数字类型是数据库检索的基础,char类型的毕竟需要经过转换,而varchar就更复杂了,其排序不仅需要转换和计算,还需要访问和遵循数据库的排序规则(实际上char也需要排序规则),而消耗的资源也更大。
因此,通常在数据库设计中,都是尽量使用int类型字段而不是字符类型字段,这在大型和超大型数据库的优化中,有明显的性能差异。
15.mysql插入中文字段:
MariaDB [userdb]> show variables like '%character%';
查询 一般 utf8就可以支持中文了
设置我刚刚创建的userdb 字符集为utf8
MariaDB [userdb]> alter database userdb character set 'utf8';
MariaDB [userdb]> create table gonggao(text char(244));
第二种:
MariaDB [userdb]> show variables like "%char%"
MariaDB [userdb]> alter table userinfo change sex sex char(5) character set utf8;
MariaDB [userdb]> set character_set_database=utf8;
开启数据库日志
在/etc/my.cnf中添加
General_log=1 //开启日志功能
General_log_file=/var/log/mariadb/mariadb.log //日志存放位置
或者:↓↓↓
1.开启日志
Show variables like “%general_log%”;
开启数据库备份:
备份命令:mysqldump -u 用户名 -p密码 数据库名 表名>/存储位置/保存的名称
每周五凌晨2:00备份数据库testdb到/var/databak/testdb.sql。[定期备份设置截屏截屏保存为db2]。
创建日志存储地方:
[root@ftp2 /]# crontab -e 添加一下内容
打开数据库日志:
MariaDB [(none)]>set global general_log=on; ##开启数据库查询日志功能
MariaDB [(none)]>set global log_output=’table’; ##将日志输出为表格
MariaDB [(none)]>use mysql;
MariaDB [mysql]> select * from general_log; ##查询日志记录
Crontab 定时任务
分 时 日 月 星期 后面跟命令
比如 每周 5凌晨3点 重启web服务器
* 3 * * 5 systemctl restart httpd
分 时 日 月 周
比如每周5,周四凌晨2点 备份mysql的mydatabase数据库的www表备份到>/var/databak/mysql.sql
* 2 * * 5 mysqldump -u root -p123456 mydatabase www>/var/databak/mysql.sql
* 2 * * 4 mysqldump -u root -p123456 mydatabase www>/var/databak/mysql.sql
创建一个数据库 userdb 创建一个表 userinfo 查看表内容
表字段
另一种查询方式 :
查询所有可读的表
通过查询到的可读表 查询表字段
通过表字段 查询 表内容
批量替换字段值:
update table1 set time = replace(time, '12-07', '11-08')
Update 表 set 字段=replace(字段,’源值’,’目标值’)
更新表内某字段,将表字段的源值替换为目标值
[root@apache conf.d]# cat /etc/crontab
##如果忘记了 每个*号所代表的作用 可以去/etc/crontab查看介绍