centos7.3通过yum方式安装mariadb
通过安装包组的方式安装
yum groupinfo mariadb mariadb-client
yum groupinstall mariadb mariadb-client
启动服务,第一次启动时间有点长
systemctl start mariadb
systemctl status mariadb
systemctl enable mariadb
安全策略设置,设置密码等
MysqL_secure_installation
查看tcp 3306端口是否开启
ss -tunlp
mariadb配置文件
more /etc/my.cnf
数据库存放位置
ls /var/lib/MysqL
MysqL -uroot -p
帮助及查询命令
help
\s
select version();
select user();
show databases;
show MysqL;
show tables;
system ls /root
system hostname
quit
centos6.8通过二进制包安装mariadb
二进制包下载地址:
https://downloads.mariadb.org/mariadb/5.5.57/
useradd -r -u 306 -d /app/data/ -s /sbin/nologin MysqL
id MysqL
getent passwd MysqL
mkdir /app/data
chown MysqL. /app/data/
ll /app/data/ -d
解压mariadb安装包,注意必须指定目录/usr/local/
tar -xf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mariadb-5.5.57-linux-x86_64/ MysqL
ll MysqL/
进入安装目录MysqL,安装mariadb
cd /usr/local/MysqL
scripts/MysqL_install_db --datadir=/app/data/ --user=MysqL
复制配置文件
mkdir /etc/MysqL
cp support-files/my-large.cnf /etc/MysqL/my.cnf
编辑复制的配置文件,在[MysqLd]服务配置中增加如下3条内容
vi /etc/MysqL/my.cnf
[MysqLd]
datadir = /app/data/
skip_name_resolve = on
innodb_file_per_table = on
chkconfig --add MysqLd
chkconfig --list | grep MysqLd
service MysqLd start
报错提示如下
Can't create/write to file '/var/log/MysqLd.log' (Errcode: 13)
创建日志文件,尝试重新启动服务
touch MysqLd.log
service MysqLd start
ss -tnlp
cd /etc/profile.d/
vi MysqL.sh
export PATH=/usr/local/MysqL/bin:$PATH
. MysqL.sh
exit
修改安全策略yynny
MysqL_secure_installation
通过密码登录
MysqL -uroot -p
sql语句
查看数据库,sql语句不区分大小写 showdatabases; SHOWDATABASES; 切换数据库 useMysqL; 查询库中的表 showtables; 查询表结构 descuser; 查询表中的所有信息 select*fromuser; 查询表中的指定列信息 selecthost,user,passwordfromuser; 如果未指定use哪个数据库,需指定数据库名.表名 selecthost,passwordfromMysqL.user; 查询当前用户 selectuser(); 创建数据库 createdatabasemydb; SELECT也可以直接显示内容,类似于echo,as表示定义字段别名,支持直接算数运算 select"usera"asname,1+2asresult; 删除数据库 dropdatabasemydb; 查看所有支持的字符集 showcharacterset; 查看所有支持的排序规则 showcollation; 获取命令帮助 helpshow helpcreatedatabase 查看系统自带的引擎 showengines; 创建表 helpcreatetable; usemydb createtablestudent(idintunsignedprimarykey,namevarchar(20)notnull,agetinyintunsigned); showtables; descstudent; 查看表索引 showindexesfrommydb.student; 添加数据,字符串必须加'' insertintostudentvalues(1,'zhang',20); 添加个别字段数据 insertintostudent(id,name)values(2,'wang'); 查询数据 select*fromstudent; 更改记录 updatestudentsetname='li'whereid=2; 删除记录 deletefromstudentwhereid=2; 清空表 truncatetablemydb.student; select*frommydb.student; 排序,默认索引会自动排序 insertintostudentvalues(1,20); insertintostudentvalues(2,'wang',21); insertintostudentvalues(4,'li',24); insertintostudentvalues(10,'zhao',20); insertintostudentvalues(5,'song',21); select*fromstudent; 查询按name列排序 select*fromstudentorderbyname; 倒序desc select*fromstudentorderbynamedesc; 查询结果以别名显示,as关键字可以省略 selectid编号,name名字fromstudent; 查询空值null insertintostudent(id,name)values(8,'yang'); select*fromstudentwhereageisnull;
通过旧表来创建新表 createtabletest1(sidint,namevarchar(20),addressvarchar(100)); createtabletest2select*fromtest1; desctest2; 同上,导入旧表的所有数据到新表 createtablestudent2select*fromstudent; select*fromstudent2; 同上,只导入部分数据 createtablestudent3selectid,namefromstudent; select*fromstudent3; 批量导入数据到新表 insertintotest2selectid,namefromstudent; 查找name字段包含a的数据条目 select*fromtest2wherenamelike"%a%"; 条件过滤 select*fromstudentwhereidin(1,5,10); select*fromstudentwhereid>=2andid<=8; select*fromstudentwhereisbetween2and8; select*fromstudentwherename!='zhang';
添加远程登录用户,用户的组成有两部分:'用户名'@'主机地址',如下用户名usera@客户端网段,密码redhat 创建远程登录用户 createuser'usera'@'192.168.%.%'identifiedby'redhat'; createuser'userb'@'192.168.10.%'identifiedby'redhat'; 测试远程登录 MysqL-uusera-h192.168.10.10-p 默认为普通用户权限,不能显示所有数据库 showdatabases; 删除用户,注意用户名必须和之前创建的保持一致。用户名格式为:'用户名'@'主机地址' dropuser'userb'@'192.168.10.%'; 更改用户口令 setpasswordfor'usera'@'192.168.%.%'=password('centos'); 通过MysqL管理命令更改用户口令 /usr/local/MysqL/bin/MysqLadmin-uusera-pcentospassword'redhat' 授权查询和删除,和允许所有操作 grantselectonmydb.*to'usera'@'192.168.%.%'; grantdelectonmydb.testto'usera'@'192.168.%.%'; grantallonmydb.*to'userb'@'192.168.%.%'identifiedbyuserb;#创建账号并授权其对mydb的所有权限 远程通过usera用户登录,再次查看数据库,即可看到mydb的数据库 showdatabases; usemydb; deletefromtest; 禁止用户操作 revokedeleteonmydb.*from'userb'@'192.168.%.%'; flushprivileges; 需要退出再重新登录,才会生效原文链接:https://www.f2er.com/centos/376542.html