1 安装
yum -y install mariadb mariadb-server mariadb-devel
mariadb-devel 开发用到的库以及包含文件
mariadb 客户端
mariadb-server 数据库服务器
注意:No package mysql-server available 是因为CentOS 中没有 MySql, 默认的是Mariadb
2 相关的命令
启动命令 systemctl start mariadb
重启命令 systemctl restart mariadb
关闭命令 systemctl stop mariadb
设定开机自起 systemctl enable mariadb
关闭开机自起 systemctl disable mariadb
查看状态 systemctl status mariadb
3 查看是否启动成功
ps -aux|grep mariadb
4 初始化数据库
mysql_secure_installation 设置密码
5 创建表
create table testtable(id int(4) not null, name char(20) not null);
show create table testtable\G; 查看创建过程
desc testtable; 查看表结构
6 进入数据库, 切换到mysql schema 设置权限
mysql -u root -p
use mysql
grant all on *.* to 'testuser'@'10.0.0.100' identified by '密码';
授权只允许 testuser 用户在 10.0.0.100 的主机上远程连接数据库
grant all on *.* to 'testuser'@'%' identified by '密码';
授权只允许 testuser 用户在 任意的主机上远程连接数据库
grant all on *.* to 'testuser'@'172.16.100.%' identified by '密码';
授权只允许 testuser 用户在 172.16.100.x 地址段 的主机上远程连接数据库
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
授权允许 root用户在任意的主机上远程连接数据库, with grant option 还可以可以将select ,update权限传递给其他用户
之后 user 表就会有变化
mysql schema 下有个 user table
用户表user
user表有39个字段。这些字段可以分为4类:
用户列:host,user,password三个字段
安全列:ssl_type、ssl_cipher、x509_issuer、x509_subject
ssl用于加密;x509标准可以用来标识用户。普通的发行版都没有加密功能。可以使用SHOW VARIABLES LIKE 'have_openssl'语句来查看是否具有ssl功能。如果取值为DISABLED,那么则没有ssl加密功能。
资源控制列:max_questions(每小时可以允许执行多少次查询)、max_updates(每小时可以允许执行多少次更新)、max_connections(每小时可以建立多少连接)、max_user_connections(单个用户可以同时具有的连接数)
默认值为0,表示无限制。
权限列:
这些字段的值只有Y和N。Y表示该权限可以用到所有数据库上;N表示该权限不能用到所有数据库上;通常,可以使用GRANT语句Wie用户赋予一些权限,也可以通过Update语句更新user表的方式来设置权限;不过,修改user表之后,一定要执行一下FLUSH PRIVILEGES
改完后,记得 输入 flush privileges;
7 防火墙端口
firewall-cmd --list-ports 查看已开放端口
firewall-cmd --state 查看防火墙状态
running
firewall-cmd --zone=public --add-port=3306/tcp --permanent 添加数据库的端口
success
firewall-cmd --reload 重启
success
firewall-cmd --list-ports 再次查看已开放端口
3306/tcp
8 远程连接
使用 navicat, 建立远程连接