下载mariadb:

        到官网 mariadb.org下载,找到下载后有多个版本,有源代码有其他平台的,我下载的是 mariadb-5.5.58-linux-x86_64.tar.gz 这个版本的。


安装:

        1、下载之后上传到服务器,解压到/usr/local/目录,tar xf mariadb-5.5xxx -C /usr/local 

        2、再创建mysql用户和组,groupadd -r mysql,useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql,创建系统用户组合用户,不创建家目录,不登录,指定家目录。

        3、创建连接,将mariadb-5.5xxx 在当前目录下创建软连接,ln -sv mariadb-xxx mysql

        4、然后切换到/usr/local/mysql 目录,运行scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ 注意这个文件只能在/usr/local/mysql目录下运行,也就是只能用scripts/mysql_install 这样的方式,否者会安装失败。

        5、然后查看/mydata/data目录就可以看到已经创建好了的文件了,

        6、在/usr/local/mysql/support-files目录下有一个用于服务启动的脚本mariadb.server我们将这个文件拷贝到系统服务目录,并重命名为mysqld,这个名词可以自定义,因为当前系统是Centos6所以按照6命名规则来的,cp support-files/mysql.server /etc/rc.d/init.d/ mysqld,在用命令chkconfig --add mysqld加入到系统服务,用chkconfig --list查看是否开机启动。


配置:

        配置文件查找顺序 /etc/my.cnf -> /etc/mysql/my.cnf -> --default-extra-file=/path -> ~/.my.cnf 最后的优先级最高。

        将安装目录下的support-files/my-large.cnf拷贝到/etc/mysql/my.cnf 作为配置文件。打开配置文件在里面的[mysqld]模块下添加一项datadir=/mydata/data 指定数据文件目录。再加上innodb_file_per_table = on,再加上skip_name_resolve = on,然后就可以启动mariadb数据库了。service mariadb start。


设置初始密码:

        在mariadb目录下有一个专门设置初始化的工具,在安装目录下的bin/mysql_secure_installation,运行这个命令跟着设置就可以设定初始密码等选项了。


用户及权限


创建用户:

        使用这条语句来创建用户:create user 'username'@'%' indentified by 'passwordstring';  其中%表示所有用户,username为用户名,passwordstring为密码。用户账户信息都存在mysql数据库中,可通过select host,user,password from user;来查看数据信息。

用户授权:

        grant all on dbname.tbname to 'username'@'host' identified by passwordstring; 其中dbname表示数据库名,tbname表示表名,username表示用户名,host表示主机名,或者用“%”,passwordstring表示密码。all可以用具体权限,如:select,update,delete,insert。没有用户会创建此用户。

例:grant select,delete on dbname.tbname to 'username'@'%' indentified by 'passwordstring';

查看用户授权:

        show grants for 'username'@'host'; host可以省略。

        show grants for current_user; 查看当前用户权限。

回收权限:

        revoke delete,update on testdb.* from 'username'@'%'; 回收了delete,update权限。这时用的通配符为“*”号。

删除用户:

        drop user 'username'@'host';

刷新内存:flush privileges;