Mysql MariaDB安装


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库的所有授权表至内存中

  1. GRANT或REVOKE命令等执行的权限操作会保存于表中,MariaDB此时一般会自动重读授权表,权限修改会立即生效
  2. 其它方式实现的权限修改,要想生效,必须手动运行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

 参考文献:http://www.cnblogs.com/linuxboke/p/5528209.html

文章出处:http://www.cnblogs.com/anech/p/6844849.html