环境: centos7.1
Install
- yum安装mariadb
yum -y install mariadb-server
rpm -ql mariadb
systemctl restart mariadb.service
ss -tanp |grep 3306
MariaDB [(none)]>CREATE DATABASE maria1_db;
MariaDB [(none)]>GRANT ALL ON maria1_db.* TO mariauser1@'%' IDENTIFIED BY 'dyl@1234';
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>SHOW GLOBAL VARIABLES LIKE '%skip%';
MariaDB [(none)]>QUIT;
- 源码安装
1.先到官网下载mariadb的tar包:
2.创建系统账号mysql用户及mysql用户组
~]# useradd -r mysql 由此一来,mysql的私有组也是mysql了
3.创建数据文件存放的地方
~]# mkdir -pv /mydata/data
~]# chown -R mysql.mysql !$
4.展开安装包至/usr/local目录下
~]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
5.切换目录至安装路径,我们的安装路径名是不是太长了,不太方便,因此可以创建一个符号链接,并修改文件的执行权限
~]# ln -s /usr/local/mariadb-5.5.46-linux-x86_64/ /usr/local/mysql
~]# cd /usr/local/mysql/
mysql]# chown -R root:mysql . 后面有个小点点,看不太清除,请见谅,但确实存在的
6.配置mariadb的配置文件
my.cnf,如果之前有装过mysql的话,里面是会默认生成一个配置文件/etc/my.cnf,若存在最好给挪走,初始化的时候需要用配置文件,但是配置文件的读取是有顺序的,有木有回想起交互式客户端的文件读取顺序,越是靠后读取的文件的才是最终决定是否生效的,读取的顺序可以在mariadb-server装好后用命令mysqld -verbose --help查看,读取顺序从左至右为:/etc/mysql/mysql.cnf,/etc/mysql.cnf,初始化指定的路径 --default-extra-fiel , 用户家目录下的 ~/.my.cnf
mysql]# ls /etc/|grep my.cnf 查看/etc目录下是否有my.cnf,若有则挪走,鄙人的服务器上之前是有的,所以:
mysql]# mv /etc/my.cnf /etc/my.cnfbak
刚开始/etc/mysql这个目录是没有的,于是乎。。。自然不存在/etc/mysql/mysql.cnf这个配置文档了,我们需要从安装目录下去拷贝一份:
mysql]# mkdir /etc/mysql
mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf
7.打开配置文档,并在服务器的配置项 [mysqld] 范围内添加如下信息:
vi /etc/mysql/my.cnf
# 01/16/2016 dyl add
datadir = /mydata/data
skip_name_resolve = ON
innodb_file_per_table = ON
wq 保存退出!
Boot mariadb
1.初始化数据库,初始化后会在/mydata/data下面生成一些文件,而初始化之前/mydata/data是空的
mysql]# ls /mydata/data/
mysql]# ./scripts/mysql_install_db --help
mysql]# ./scripts/mysql_install_db --user=mysql
再次查看/mydata/data目录下就会生成一些配置文件了,说明初始化已经完成,接下来是启动服务,我们将安装目录下的server启动脚本拷贝至/etc/init.d/目录下
mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
2.启动服务:
mysql]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!
mysql]# systemctl stop mysqld.service
Link && Test
- 尝试本地使用mysql客户端连接数据库
[root@yuelin mysql]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.46-MariaDB-log MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE maria_db1;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON maria_db1.* TO muser1@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> QUIT
Bye
- 尝试使用另外一台服务器远程连接:
~]# mysql -umuser1 -h 172.16.52.67 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.5.46-MariaDB-log MariaDB Server
成功!
vi /etc/my.cnf
skip_name_resolve=ON
systemctl restart mariadb.service
远程:mysql -h 172.16.52.67 -u mariadbuser1 -p
Others
root密码忘了怎么办?
进入数据库的安装目录:执行 ./mysqld_safe --skip-grant-tables &
进入安全模式,接着输入
mysql -uroot
以无密码进入msyql交互窗口;
MariaDB [(none)]> use mysqlDatabase changed
MariaDB [mysql]> update user set password=PASSWORD("dyl@1234") where User="root";
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MariaDB [mysql]> quit
Bye
由此密码修改完毕!
Author:网名为什么那么长