CentOS 安装 MariaDB 全部命令
如果要清晰的安装mariadb,你需要有些基本知识:
一般的linux管理命令。
my.cnf的基本配置。
OS:
[root@iZbp1hinmw0qdzo0fat ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core
[root@iZbp1hinmw0qdzo0fat ~]# uname -a
Linux iZbp1hinmw0qdzo0fat 3.10.0-514.6.2.el7.x86_64 #1 SMP Thu Feb 23 03:04:39 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@iZbp1hinmw0qdzo0fat ~]#
Maria DB:
mariadb-10.1.22-linux-x86_64.tar.gz
下载安装包
通常情况我们都安装在/usr/local目录, 当你有一台公网服务器时,下载安装包到本地在上传是十分痛苦的过程。最后直接下载到你的公网服务器。
cd /usr/local
wget https://downloads.mariadb.org/interstitial/mariadb-10.1.22/bintar-linux-x86_64/mariadb-10.1.22-linux-x86_64.tar.gz/from/http%3A//mirrors.tuna.tsinghua.edu.cn/mariadb/?serve&change_mirror_from=1
下载之后名字有点乱,重新改一下。
mv index* mariadb-10.1.22-linux-x86_64.tar.gz
groupadd mysql
useradd -g mysql mysql
tar -zxvpf mariadb-10.1.22-linux-x86_64.tar.gz
方便安装多版本
ln -s mariadb-10.1.22-linux-x86_64 mysql
cd mysql
创建安装数据的目录,你用默认的也可以。
mkdir /mnt/mysql/mysqlcnf
mkdir /mnt/mysql/mysqldata
mkdir /mnt/mysql/log/
chown -R mysql /mnt/mysql/
创建自己的实例控制文件。
cp /etc/my.cnf /mnt/mysql/mysqlcnf/my1.cnf
vi /mnt/mysql/mysqlcnf/my1.cnf
./scripts/mysql_install_db --defaults-file=/mnt/mysql/mysqlcnf/my1.cnf --user=mysql
此时二进制文件,自带数据,目录已经安装完毕。
更改下权限。
chown -R root .
chown -R mysql data
启动mysql, 注意,一般不用mysqld。 mysqld_safe更加安全。
./bin/mysqld_safe --defaults-file=/mnt/mysql/mysqlcnf/my1.cnf --user=mysql &
touch /etc/profile.d/path.sh
下面更改path可以不参考,我也没能把它搞得生效,linux太多发行版本了。
vi /etc/profile.d/path.sh
#add below line
#export PATH=$PATH:/usr/local/mysql/bin/
设置mysql初始密码:
mysqladmin --defaults-file=/mnt/mysql/mysqlcnf/my1.cnf -u root password 'root'
测试本地登录
mysql -u root -p
创建数据库,用户。
create database db1;
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';
CREATE USER 'user'@'localhost' IDENTIFIED BY 'user';
CREATE USER 'user'@'%' IDENTIFIED BY 'user';
grant all privileges on db1to admin@'%';
grant select,insert,update,delete on db1.* to user@'%';
注意:centos7 以后,防火墙换命令了
systemctl start firewalld.service
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
到此时,所有命名全部完结。你可以测试从远程连接数据库了。