MariaDB与MySQL并存时的分别登陆方法


终于搞定了MariaDB与MySQL并存时登陆方法,当时是,明明知道安装成功了,就是登陆不进去MariaDB,这是心得分享给大家。

端口号登陆方法:

一, CentOS7环境下

1. 安装Mysql5.6.19,安装成功后,端口号:3306

[root@centOS7]# mysql -uroot -h127.0.0.1 -P3306 -p

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.6.19    |

+-----------+

1 row in set (0.00 sec)

2.安装MariaDB10.0.12.,安装成功后,口端口号:3307

[root@centOS7]# mysql -uroot -h127.0.0.1 -P3307 -p

mysql> select version();

+---------------------+

| version()          |

+---------------------+

| 10.0.12-MariaDB-log |

+---------------------+

1 row in set (0.00 sec)

下面是,在Mysql安装好后,安装MariaDB10.0.12的详细方法

下载最新版本的二进制编译包tar.gz (目前为mariadb-10.0.12-linux-x86_64),并将它解压到你的自定义目录中. 本文档假定安装目录为/opt.

创建数据所在目录及符号链接,如下所示:

[root@centOS7 opt]# mkdir mariadb-data 
[root@centOS7 opt]# ln -s mariadb-10.0.12-linux-x86_64 mariadb 
[root@centOS7 opt]# ls -al 
total 20 
drwxr-xr-x.  5 root root 4096 2014-09-26 07:27 . 
dr-xr-xr-x. 23 root root 4096 2014-09-26 06:38 .. 
lrwxrwxrwx.  1 root root  27 2014-09-26 07:27 mariadb -> mariadb-10.0.12-linux-x86_64 
drwxr-xr-x. 13 root root 4096 2014-09-26 07:07 mariadb-10.0.12-linux-x86_64 
drwxr-xr-x.  2 root root 4096 2014-09-26 07:26 mariadb-data 

创建组mariadb及用户mariadb, 设置文件对应的所属权限:

[root@centOS7 opt]# groupadd --system mariadb 
[root@centOS7 opt]# useradd -c "MariaDB Server" -d /opt/mariadb -g mariadb --system mariadb 
[root@centOS7 opt]# chown -R mariadb:mariadb mariadb-10.0.12-linux-x86_64/ 
[root@centOS7 opt]# chown -R mariadb:mariadb mariadb-data/ 

通过从support-files中拷贝my.cnf, 在/opt/mariadb目录下创建新的my.cnf:

[root@centOS7 opt]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf 
[root@centOS7 opt]# chown mariadb:mariadb mariadb-data/my.cnf 

编辑文件/opt/mariadb-data/my.cnf, 增加自定义值, socket, port, user及最重要的设置: data目录和base目录. 最后的设置至少是这样的:

[client] 
port            = 3307 
socket          = /opt/mariadb-data/mariadb.sock 
 
[mysqld] 
datadir        = /opt/mariadb-data 
basedir        = /opt/mariadb 
port            = 3307 
socket          = /opt/mariadb-data/mariadb.sock 
user            = mariadb 

从support-files文件中拷贝init.d脚本到对应的位置:

[root@centOS7 opt]# cp mariadb/support-files/mysql.server /etc/init.d/mariadb 
[root@centOS7 opt]# chmod +x /etc/init.d/mariadb 

编辑/etc/init.d/mariadb,使用  mariadb替换 mysql设置项, 如下所示:

- # Provides: mysql 
+ # Provides: mariadb 
- basedir= 
+ basedir=/opt/mariadb 
- datadir= 
+ datadir=/opt/mariadb-data 
- lock_file_path="$lockdir/mysql" 
+ lock_file_path="$lockdir/mariadb"

你需要告诉mariadb读取唯一的cnf文件. 在$bindir/mysqld_safe之后加上--defaults-file=/opt/mariadb-data/my.cnf. 最后参数设置应该是这样的:

# Give extra arguments to mysqld with the my.cnf file. This script 
# may be overwritten at next upgrade. 
$bindir/mysqld_safe --defaults-file=/opt/mariadb-data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 & 

显式指定  my.cnf作为传入参数,来运行 mysql_install_db:

[root@centOS7 opt]# cd mariadb 
[root@centOS7 mariadb]# scripts/mysql_install_db --defaults-file=/opt/mariadb-data/my.cnf 

现在你可以这样启动MariaDB:

[root@centOS7 opt]# /etc/init.d/mariadb start 
Starting MySQL SUCCESS     

把MariaDB启动设置为系统级别启动:

[root@centOS7 opt]# cd /etc/init.d 
[root@centOS7 init.d]# chkconfig --add mariadb 
[root@centOS7 init.d]# chkconfig --levels 3 mariadb on 

最后,测试现在有两个数据库服务实例在运行:

[root@centOS7 ~]# mysql -e "SELECT VERSION();" 
+-----------+ 
| VERSION() | 
+-----------+ 
|  5.6.19  | 
+-----------+ 
[root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock 
+--------------------+ 
| VERSION()          | 
+--------------------+ 
|10.0.12-MariaDB-log | 
+--------------------+ 

在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP)

MariaDB Proxy读写分离的实现

Linux下编译安装配置MariaDB数据库的方法

CentOS系统使用yum安装MariaDB数据库

安装MariaDB与MySQL并存

MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里

本文永久更新链接地址:

相关内容