mariaDB 安装过程

我安装的mariaDB 10.2.21 版本,由于 10.3.12 版本的 support-files文件中和以前不一样了

第一步

 准备账号

getent passwd mysql //查看有没有mysql账号(没有的话需要创建)

useradd -r mysql -s /sbin/nologin //创建系统账号 shell类型为nologin

getent passwd mysql

第二步 解压压缩包

1.解压缩包
[root@centos7 ~]#tar xf mariadb-10.2.12-linux-x86_64.tar.gz -C /usr/local/  //解压路径必须的/usr/local/

[root@centos7 ~]#cd /usr/local/;ls

bin  games lib libexec sbin src etc  include  lib64  mariadb-10.2.12-linux-x86_64  share
2.创建软连接
[root@centos7 local]#ln -s mariadb-10.2.12-linux-x86_64/ mysql //建议给mariadb-10.2.12-linux-x86_64/ 加上软连接必须是mysql或者此文件改名为mysql
3.修改权限问题
[root@centos7 local]#cd mysql/
[root@centos7 mysql]#ll  
drwxrwxr-x  2 1021 zhang1  4096 Nov 14 22:34 bin
-rw-r--r--  1 1021 zhang1 17987 Jan  3 21:48 COPYING
················· 
解决如下
[root@centos7 local]#chown -R mysql.mysql mysql/
[root@centos7 local]#ll mysql/
drwxrwxr-x  2 mysql mysql  4096 Nov 14 22:34 bin
-rw-r--r--  1 mysql mysql 17987 Jan  3 21:48 COPYING
················· 
4.添加PATH
[root@centos7 bin]#echo 'PATH=/usr/local/mysql/bin:$PATH' >/etc/profile.d/mysql.sh
[root@centos7 bin]#cat /etc/profile.d/mysql.sh
PATH=/usr/local/mysql/bin:$PATH
[root@centos7 bin]#. /etc/profile.d/mysql.sh

第三步 数据库目录存放路径

考虑数据一直在增加建议放到逻辑卷中;下面开始创建逻辑卷
创建逻辑卷不懂得可以看前面文章查看怎么创建逻辑卷
[root@centos7 /]#blkid 
/dev/sda6: UUID="eeDr4z-UEpo-t6K6-BzAB-IwfG-1rhK-iTHhbx" TYPE="LVM2_member" 
/dev/mapper/vg0-lv_mysqldata: UUID="f1fab2a8-24f6-4752-b0ae-62b35f205f27" TYPE="xfs" 

[root@centos7 /]#lsblk
NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                    8:0    0  200G  0 disk 
······
└─sda6                 8:6    0   50G  0 part 
  └─vg0-lv_mysqldata 253:0    0   50G  0 lvm  
以上是创建的逻辑卷

mkdir /data/mysqldb -pv  创建data存放的目录 
修改权限
[root@centos7 bin]#ll -d /data/mysqldb/
drwxr-xr-x 2 root root 6 Jan 23 15:47 /data/mysqldb/
[root@centos7 bin]#chown -R mysql.mysql  /data/mysqldb/
[root@centos7 bin]#ll -d /data/mysqldb/                
drwxr-xr-x 2 mysql mysql 6 Jan 23 15:47 /data/mysqldb/
[root@centos7 bin]#chmod 700  /data/mysqldb/
[root@centos7 bin]#ll -d /data/mysqldb/     
drwx------ 2 mysql mysql 6 Jan 23 15:47 /data/mysqldb/ 

第四步 执行脚本

[root@centos7 ~]#cd /usr/local/mysql/scripts/
[root@centos7 scripts]#./mysql_install_db --help 查看帮助
[root@centos7 mysql]#scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql 执行此脚本 必须是在mysql目录下

[root@centos7 support-files]#cp my-huge.cnf /etc/my.cnf
[root@centos7 support-files]#vim /etc/my.cnf
[mysqld]
port            = 3306
datadir=/data/mysqldb  这里添加数据路径                            socket          = /tmp/mysql.sock ·······


cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld //配置文件 
[root@centos7 support-files]#chkconfig --add mysqld //添加到启动脚本
[root@centos7 support-files]#chkconfig --list //查看是否添加
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

第五步:启动 

 

[root@centos7 support-files]#systemctl start mysqld //启动
You have new mail in /var/spool/mail/root
[root@centos7 support-files]#systemctl status mysqld
·····
   Active: active (running) since Tue 2018-01-23 16:38:23 CST; 4s 
·····
[root@centos7 support-files]#ss -ntl //查看端口3306 启动成功
LISTEN 0 80  :::3306 :::* 

服务启动会生成/tmp/mysql.sock 文件;服务停止删除此文件

第六步:安全初始化(执行此步最好 reboot)

跑脚本
[root@centos7 ~]#mysql_secure_installation (安全初始化)
请输入root口令,你没有直接回车
Enter current password for root (enter for none): 
是否设置root口令
Set root password? [Y/n] y
New password: 
Re-enter new password: 
是否删除匿名账户
Remove anonymous users? [Y/n] y
是否禁用root用户远程连接
Disallow root login remotely? [Y/n] n
是否删除test测试文件
Remove test database and access to it? [Y/n] y
是否生效保存
Reload privilege tables now? [Y/n] y

 注意:

在云服务器上面搭建了MariaDb(MariaDB是MySQL源代码的一个分支),但是远程链接不上。

 首先,你要确保服务器安全组3306端口已经开放。

 在确保端口开放的情况下,如果出现错误代码1130- Host xxx is not allowed to connect to this MariaDb server,说明是权限问题。如图:

mariaDB 安装过程_第1张图片

有两种解决方法:

1.授权法

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; // %:表示从任何主机连接到mysql服务器

FLUSH   PRIVILEGES;

 

2.该表法


可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root'  and host='localhost';
mysql>select host, user from user;
然后重启MySQL服务。或再执行 执行一个语句 mysql>FLUSH   PRIVILEGES;使修改生效。

 

 

 

你可能感兴趣的:(mariaDB)