OS:CENTOS 7
1、从系统进入MariaDB
mysql -u root -p
这里的root是指MariaDB的管理员用户,和系统的root不搭边,只是同名而已。
2、看下有哪些库、用户
MariaDB [(none)]> show databases;
MariaDB [(none)]>select user,host from mysql.user;
3、创建新库、新用户
MariaDB [(none)]> create database 要建的库名charset=utf8 ;
--charset=utf8 是非必选参数,这里是个人习惯,受的字符集的苦太多了。
MariaDB [(none)]> create user 要建的用户名@'%' identified by '密码';
--这里的 @'%' 表示允许该用户从任何点登录。
4、瞅一眼刚建好的库和用户权限
MariaDB [(none)]> show create database 刚建的库名;
MariaDB [(none)]> show grants for 建的用户名@'%';
5、将刚建的库的所有权限授权给刚新建的用户
MariaDB [(none)]> REVOKE ALL PRIVILEGES ON *.* from 用户名@'%';
--我习惯先把要用的用户的所有权限先清除。
MariaDB [(none)]> grant all on 刚建的库名.* to 刚建的用户@'%';
MariaDB [(none)]> show grants for 建的用户名@'%';
再看一眼,一眼万年。
MariaDB [(none)]> exit;
为啥要不限制登录点,又非得新建一个用户呢?别问,问就是:又想在外网用MariaDB又舍不得多个应用的后台数据库管理员曝露在公网上。就是又菜又爱玩,又穷又啥都想买。
--注意所有对用户的授权都是以 用户名@'%' 的形式出现的,这表示对MariaDB而言,用户天生就是加了登录点限制的存在。这从mysql.user表中的行值可以看到,只是用户+登录限制的组合才是唯一的。