一、MariaDB与MySQL关系
MariaDB是MySQL源代码的一个分支,随着Oracle买下了Sun,MySQL属于Oracle手。考虑到Mysql有闭源的风险,MySQL之父的Michael以他女儿Maria的名字开始了MySQL的另外一个衍生版本:MariaDB。
二、安装mariadb软件包
CentOS7的安装源自带mariadb软件包
yum -y install mariadb mariadb-server
三、启动停止数据库服务
systemctl start mariadb
systemctl stop mariadb
四、root登录数据库
1.mysql -uroot
2.选择数据库
MariaDB [(none)]> use mysql
用户root添加密码
MariaDB [mysql]> update user set password=password("111111")where user='root';
4.赋予权限
MariaDB [mysql]> flush privileges;
5.退出,重新登录
MariaDB [mysql]> exit
6.密码登录
mysql -u root -p111111
五、常用操作
查看所有数据库:show databases;
创建新的数据库create database databasename;
查看当前用户:select user();
查看所有用户select user,host from mysql.user;
创建用户
命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:
username - 你将创建的用户名,
host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%.
password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
例子:
CREATE USER 'fq'@'localhost' IDENTIFIED BY 'fq';
CREATE USER 'fq'@'192.168.18.32' IDENDIFIED BY 'fq';
CREATE USER 'fq'@'%' IDENTIFIED BY 'fq';
CREATE USER 'fq'@'%' IDENTIFIED BY '';
CREATE USER 'fq'@'%';
授权:
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等.如果要授予所的权限则使用ALL.;
databasename - 数据库名,
tablename-表名,
如果要授予该用户对所有数据库和表的相应操作权限则可用 * 表示, 如 .
例子:
GRANT SELECT, INSERT ON test.user TO 'fq'@'%';
GRANT ALL ON *.* TO 'fq'@'%';
GRANT ALL ON *.* TO 'fq'@'% WITH GRANT OPTION;//这个才是正确的,需要加 WITH GRANT OPTION
flush privileges; 刷新权限:
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
例子:登录远程mysql用户
mysql -u fq -h 192.168.18.32 -p fq -D fqdb
删除数据库:drop database databasename;
删除账户及权限:
drop user username@'%';
drop user username@localhost;