1、安装
本人使用的是CentOS 7 ,默认yum安装,但默认yum安装版本有点低,可根据需要选择升级,我这里选择先升级再安装。
更新yum
//更新yum包
yum -y update
配置yum源
vim /etc/yum.repos.d/MariaDB.repo
打开的文本中输入以下内容:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
目前的稳定版本为10.1,再安装的时候可去这里查询https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna&distro=CentOS&distro_release=centos7-amd64--centos7
保存并退出,执行安装命令:
//使用配置的yum安装
yum install MariaDB-server -y
如果使用系统自带yum安装,请执行以下命令:
//安装server
yum install mariadb-server mariadb -y
注意:这里我仅安装Server,暂不安装Client,如果有需要安,可以执行以下命令:
//配置yum源安装
yum -y install MariaDB-server MariaDB-client
//使用默认安装
yum -y install mariadb*
2、服务
安装完成后,我们需要执行以下命令:
//启动服务
systemctl start mariadb
//开机启动
systemctl enable mariadb
//运行状态
systemctl status mariadb
3、配置
现在我们需要进行一些基本的安全设置。执行命令:
mysql_secure_installation
执行上边的命令,进入设置引导
//1、确认密码
Enter current password for root (enter for none): //直接回车
//2、设置新密码
Set root password? [Y/n] y
//3、移出匿名用户
Remove anonymous users? [Y/n] y
//4、禁用远程登陆
Disallow root login remotely? [Y/n] y
//5、移出测试数据库
Remove test database and access to it? [Y/n] y
//6、重新加载权限
Reload privilege tables now? [Y/n] y
Thanks for using MariaDB!
结束
中文乱码配置:
//打开配置
vim /etc/my.cnf
在结尾处追加以下命令:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
重启服务:
systemctl restart mariadb
登录查看效果:
//登录
mysql -u root -p
//查看当前数据默认字符集
show variables like "%character%";
show variables like "%collation%";
4、用户及权限
//查看版本
mysql -V
//登录
mysql -u root -p
//重启
systemctl restart mariadb
//停止
systemctl stop mariadb.service
//创建用户
CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
//用户授权
GRANT select,insert ON test.* TO 'testuser'@'%';
//创建用户并授权
GRANT select ON test.* TO 'testuser'@'%' IDENTIFIED BY '123456';
//ALL PRIVILEGES 表示所有权限
GRANT ALL PRIVILEGES ON test.* TO 'testuser'@'%' IDENTIFIED BY '0123456789' WITH GRANT OPTION;
//回收权限
REVOKE select ON test.* From 'testuser'@'%';
//删除用户
DROP USER 'testuser'@'%';
//查看用户权限
SHOW GRANTS FOR testuser;
//查看用户授权表
select * from mysql.user
//修改密码
UPDATE mysql.user SET password=password("0123456789") WHERE user='testuser';
//刷新
FLUSH PRIVILEGES;
说明:
用户账号:'username'@'host'
禁止检查主机名:在my.cnf配置文件中的[mysqld]段添加skip_name_resolve = ON 一般都得添加此选项以提升性能
创建用户账号:CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];
例如:create user 'testuser'@'192.168.%.%' identified by 'testpass'; 记得刷新用户授权表flush privileges;
删除用户账号:DROP USER 'user'@'host' [, user@host] ...
例如:drop user 'testuser'@'192.168.%.%';
查看用户授权表命令:select * from mysql.user;
授权:GRANT priv_type,... ON [object_type] db_name.tbl_name TO 'user'@'host' [IDENTIFIED BY 'password'];
例如:grant select,insert on test1.students to 'testuser'@'192.168.%.%';
查看指定用户所获得的授权:SHOW GRANTS FOR CURRENT_USER;
回收权限:REVOKE priv_type, ... ON db_name.tbl_name FROM 'user'@'host';
例如:revoke insert on test1.students from 'testuser'@'192.168.%.%';
注意:MariaDB服务进程启动时,会读取mysql库的所有授权表至内存中
- GRANT或REVOKE命令等执行的权限操作会保存于表中,MariaDB此时一般会自动重读授权表,权限修改会立即生效
- 其它方式实现的权限修改,要想生效,必须手动运行FLUSH PRIVILEGES命令
5、其它
升级说明:
如果你之前已进行过安装,想要进行升级,可先进行卸载,再重复上述步骤安装,注意数据库的备份。
//停止服务
systemctl stop mariadb
//移除包
yum remove mariadb-server mariadb mariadb-libs
//清理
yum clean all
常用操作:
//使用数据库
use database;
//查看所有数据库
show databases;
//删除名字为dbname的数据库
drop database dbname;
设置远程登陆:
//打开配置
vim /etc/my.cnf
//设置以下节点
[mysqld]
port=25513
//重启
systemctl restart mariadb
//设置防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//加载设置
firewall-cmd --reload