MariaDB:
软件作者:Unireg
MySQL AB –> MySQL
Solaris: 二进制版本
-
安装MySQL:
-
源代码:编译安装
-
二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
-
程序包管理管理的程序包:
rpm:
OS Vendor
项目官方
Deb
通用二进制格式安装过程
官方下载mariadb
[root@repo ~]# wget http://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-5.5.54/bintar-linux-x86_64/mariadb-5.5.54-linux-x86_64.tar.gz -c
创建数据目录
[root@localhost ~]# fdisk –l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x33451537
Device Boot Start End Blocks Id System
/dev/sdb1 1 1306 10490413+ 8e Linux LVM
[root@localhost ~]# partx -a /dev/sdb
BLKPG: Device or resource busy
error adding partition 1
[root@localhost ~]# pvcreate /dev/sdb1
Physical volume “/dev/sdb1” successfully created
[root@localhost ~]# vgcreate sqldata /dev/sdb1
Volume group “sqldata” successfully created
[root@localhost ~]# lvcreate -L 10G sqldata -n mysqldata
Volume group “sqldata” has insufficient free space (0 extents): 2560 required.
[root@localhost ~]# yum -y install xfsprogs
[root@localhost ~]# mkfs -t xfs /dev/sqldata/lvol0
[root@localhost ~]# vim /etc/fstab
加入:
/dev/mapper/sqldata-lvol0 /mydata/ xfs defaults 0 0
[root@localhost ~]# mount –a
[root@localhost ~]# mount | grep sqldata
/dev/mapper/sqldata-lvol0 on /mydata type xfs (rw)
[root@localhost ~]# useradd -r mysql
[root@localhost ~]# useradd -r mysql
[root@localhost ~]# chown mysql:mysql /mydata/
[root@localhost ~]# ls -ld /mydata/
drwxr-xr-x 2 mysql mysql 6 Feb 22 19:48 /mydata/
-
安装mariadb
[root@localhost ~]# tar xf mariadb-5.5.54-linux-x86_64.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -sv mariadb-5.5.54-linux-x86_64 mysql
`mysql’ -> `mariadb-5.5.54-linux-x86_64′
[root@localhost local]# cd mysql/
[root@localhost mysql]# chown -R root:mysql /usr/local/mysql/
[root@localhost mysql]# ls /usr/local/mysql/ -ld
drwxr-xr-x 12 root mysql 4096 Feb 22 20:00 /usr/local/mysql/
[root@localhost mysql]# scripts/mysql_install_db –datadir=/mydata/data –user=mysql
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chkconfig –add mysqld
[root@localhost mysql]# chkconfig –list mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost mysql]# chkconfig mysqld –level 234 on
[root@localhost mysql]# chkconfig –list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:off 6:off
-
准备配置文件
配置格式:类ini格式,为各程序均通过单个配置文件提供配置信息;
[prog_name]
配置文件查找次序:
/etc/my.cnf –> /etc/mysql/my.cnf –> –default-extra-file=/PATH/TO/CONF_FILE –> ~/.my.cnf
[root@localhost mysql]# ls support-files/ -l
total 80
-rwxr-xr-x 1 root mysql 1153 Dec 23 00:43 binary-configure
-rw-r–r– 1 root mysql 1328 Dec 22 23:59 magic
-rw-r–r– 1 root mysql 4914 Dec 23 00:43 my-huge.cnf
-rw-r–r– 1 root mysql 20418 Dec 23 00:43 my-innodb-heavy-4G.cnf
-rw-r–r– 1 root mysql 4901 Dec 23 00:43 my-large.cnf
-rw-r–r– 1 root mysql 4914 Dec 23 00:43 my-medium.cnf
-rw-r–r– 1 root mysql 2840 Dec 23 00:43 my-small.cnf
-rwxr-xr-x 1 root mysql 1061 Dec 23 00:43 mysqld_multi.server
-rwxr-xr-x 1 root mysql 839 Dec 23 00:43 mysql-log-rotate
-rwxr-xr-x 1 root mysql 11982 Dec 23 00:43 mysql.server
drwxr-xr-x 3 root mysql 4096 Feb 22 20:00 SELinux
[root@localhost mysql]# mkdir -pv /etc/mysqld/
mkdir: created directory `/etc/mysqld/’
[root@localhost mysql]# cp support-files/my-large.cnf /etc/mysqld/
# mkdir /etc/mysql
# cp support-files/my-large.cnf /etc/mysql/my.cnf
添加三个选项:
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
datadir = /mydata/data
innodb_file_per_table = on
skip_name_resolve = on
datadir = /mydata/data
innodb_file_per_table = on
skip_name_resolve = on
- 需要安全初始化:
[root@localhost mysql]# /usr/local/mysql/bin/mysql_secure_installation
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n 一般不允许root远程登陆
Remove test database and access to it? [Y/n] n
Reload privilege tables now? [Y/n] y
mysql> use mysql;
Database changed
mysql> SELECT User,Host,Password From user;
+——+———————–+——————————————-+
| User | Host | Password |
+——+———————–+——————————————-+
| root | localhost | *310AF8D67AE450FB86125F07FF75D1583528B45F |
| root | localhost.localdomain | *310AF8D67AE450FB86125F07FF75D1583528B45F |
| root | 127.0.0.1 | *310AF8D67AE450FB86125F07FF75D1583528B45F |
| root | ::1 | *310AF8D67AE450FB86125F07FF75D1583528B45F |
+——+———————–+——————————————-+
rows in set (0.02 sec)
现在安全了。