下文内容主要给大家带来MySQL和MariaDB(安装部署,数据库操作,SQL语句)日记整理,这里所讲到的知识,与书籍略有不同,都是天达云专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
整理关于MySQL和MariaDB(安装部署,数据库操作,SQL语句)
2019年8月9日 星期五
15:10
一、MySQL:(实操环境:CentOS6.5安装MySQL5.6)
linux CentOS6.5 yum安装mysql 5.6
1.新开的云服务器,需要检测系统是否自带安装mysql
# yum list installed | grep mysql
2.如果发现有系统自带mysql,果断这么干
# yum -y remove mysql-libs.x86_64
3.随便在你存放文件的目录下执行,这里解释一下,由于这个mysql的yum源服务器在国外,所以下载速度会比较慢,还好mysql5.6只有79M大,而mysql5.7就有182M了,所以这是我不想安装mysql5.7的原因
# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
4.接着执行这句,解释一下,这个rpm还不是mysql的安装文件,只是两个yum源文件,执行后,在/etc/yum.repos.d/ 这个目录下多出mysql-community-source.repo和mysql-community.repo
# rpm -ivh mysql-community-release-el6-5.noarch.rpm
5.这个时候,可以用yum repolist mysql这个命令查看一下是否已经有mysql可安装文件
#yum repolist all | grep mysql
6.安装mysql 服务器命令(一路yes):
# yum install mysql-community-server
7.安装成功后
# service mysqld start
8.由于mysql刚刚安装完的时候,mysql的root用户的密码默认是空的,所以我们需要及时用mysql的root用户登录(第一次回车键,不用输入密码),并修改密码
# mysql -u root
# use mysql;
# update user set password=PASSWORD("这里输入root用户密码") where User='root';
# flush privileges;
9.查看mysql是否自启动,并且设置开启自启动命令
# chkconfig --list | grep mysqld
# chkconfig mysqld on
10.mysql安全设置(系统会一路问你几个问题,看不懂复制之后翻译,基本上一路yes):
# mysql_secure_installation
二、MariaDB:(CentOS7.x试验环境)
1、安装MariaDB
#yum -y group install mariadb mariadb-client
2、开机启动MariaDB
#systemctl enable mariadb
3、查看MariaDB状态
#systemctl status mariadb
#netstat -lant | grep 3306
4、初始化mariadb
#mysql_secure_installation
1)输入root(mariaDB)密码:(默认直接回车)
2)是否设置root密码?[Y/n]
3)移除匿名账户?[Y/n]
4)不允许root远程登陆?[Y/n]
5)移除测试数据库及访问?[Y/n]
6)重新加载特权表?[Y/n]
5、确认root是否可以登陆
#mysel -u root
ERROR 1045 (28000): Access denied for user
'root'@'localhost' (using password: NO)
验证test数据库是否被移除
mysql -u root -p $PassWord
验证root从远程无法登陆至本地
#mysql -u root -p $PassWord -h mariadb_server
6、MariaDB的警告日志位置
/var/log/mariadb/mariadb.log
可以用tail -f 动态查看日志
数据库操作常用SQL指令:
一、数据库类操作:(操作对象是数据库)
1、显示本地数据库
#mysql -u root -p $PassWord
>show databases;
2、创建数据库
>create database $DatabaseName;
>show databases;
3、使用指定数据库
>use $DatabaseName;
查看数据库的表
>show tables;
查看指定表中的信息
>describe customers;
显示广泛的服务器状态信息
>show status
显示创建指定数据库(表)的MariaDB语句
>show create database(table)
显示授予用户的安全权限
>show grants
显示服务器错误或警告信息
>show errors(warnings)
show语句列表
>help show
4、数据库备份与恢复
备份
>mysqldump -u root -p $DataBaseName > ./$DataBaseName.dump
>musqldump -u root -p -all-databases > ./all.dump
恢复
>mysql -u root -p $DataBaseName < ./$DataBaseName.dump
>mysql -u root -p < ./all.dump
5、数据库检查与维护
ANALYZE TABLE用来检查表的键是否正确:
>analyze table $TableName;
CHECK TABLE用来检查表的各种问题:
>check table $TableName;
REPAIR TABLE用来修复表:
>repair table $TableName;
二、用户类操作:(操作对象是用户)
1、新创建数据库用户账户(create)
>create user $UserName $PassWord;
2、删除数据库用户(drop)
>drop user $UserName;
3、重命名数据库用户名(rename)
>rename user $OldUserName to $NewUserName;
4、查询所有数据库用户的列表(从用户表"user"中查询用户列,列名为"user")
>use mysql;
>select user form user;
5、查看用户的权限(show)
>show grants for $UserName;
6、对用户进行数据库访问授权(grant)
>grant select on $DataBaseName.* to $UserName;
多次授权(多个grant可以合并)
grant select insert on $DataBaseName.* to $UserName;
7、撤销权限(revoke)
>revoke select on $DataBaseName .* from $UserName;
权限
权限 | 说明 |
ALL | 除了grant option之外所有权限 |
ALTER | 使用alter table |
ALTER ROUTINE | 使用alter procedure和drop procedure |
CREATE | 使用create table |
CREATE TEMPORAY TABLE | 使用create temporary table |
CREATE ROUTING | 使用create procedure |
CREATE USER | 使用create user,drop user,rename user和
revoke,privileges |
CREATE VIEW | 使用create view |
DELETE | 使用delete |
DROP | 使用drop table |
EXECUTE | 使用call和存储过程 |
FILE | 使用select into outfile和load data infile |
GRANT OPTION | 使用grant和revoke |
INDEX | 使用create index和drop index |
INSERT | 使用insert |
LOCK TABLES | 使用lock tables |
PROCESS | 使用show full processlist |
RELORD | 使用flush |
RELICATION CLIENT | 访问本地服务器 |
RELICATION SLAVE | 有复制从属使用 |
SELECT | 使用select |
SHOW DATABASES | 使用show databases |
SHOW VIEW | 使用show create view |
SHUTDOWN | 使用mysqladmin shutdomn |
SUPER | 使用change master,kill,logs,purge,master和set
globle,还允许mysqladmin测试登录 |
UPDATE | 使用Update |
USAGE | 没有访问权限 |
对于以上关于MySQL和MariaDB(安装部署,数据库操作,SQL语句)日记整理,如果大家还有更多需要了解的可以持续关注我们天达云的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。