欢迎投稿

今日深度:

Mysql数据库迁移Mariadb完整方案,mysql迁移mariadb

Mysql数据库迁移Mariadb完整方案,mysql迁移mariadb


Mysql数据库迁移Mariadb方案

一、       文档描述

l  目的:测试window和linux上MariaDB支持性。

l  原则:window下保留原有Mysql ,安装MariaDB,迁移好数据即可,尽量不要修改业务代码;linux下直接安装新的数据库测试。

本文档同时可做Maria DB数据库安装参考文档。

二、       Window 版本安装测试

1.       下载安装版本:我们用的是10.1系列最新版本

https://downloads.mariadb.org/

2.       本地或服务器转换方法

一定要用HeidiSQL客户端导出Mysql原有数据,并用该客户端导入MariaDB才可以。安装MariaDB保证sevice Name不重复,为保证端口号都用3306,可以先关闭原有的mysql数据库再安装。

3.       停掉原Mysql数据库server服务

4.       安装MariaDB文件,默认安装所有即可。


5.       停止新安装的MariaDB数据库服务(Mysql),启动原来的数据库服务(MySQL57,具体查看原有名字)

6.       用客户端导出原来Mysql数据库


7.      停止原有Mysql服务(Mysql57),启动新安装的数据库服务

8.       用客户端HeidiSQL把原数据库导入到MariaDB数据库,从文件中选择加载sql文件,直接运行即可(不用再开mysql服务)

 

9.       创建用户,选择用户权限

10.  也可以先安装MariaDB文件,只选安装客户端HeidiSQL,不要选server,方式先把原有数据库文件导出来,再安装新server,导入数据库

三、       CentOS 7.0 Linux上安装MariaDB-10.1.29 版本测试

1.       在线yum安装

https://mariadb.com/kb/en/library/yum/

2.       离线安装说明

2.1  离线rpm安装方式说明

https://mariadb.com/kb/en/library/installing-mariadb-with-the-rpm-tool/

2.2  离线tar包安装方式说明

1.        下载

http://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.1.29/bintar-linux-x86_64/mariadb-10.1.29-linux-x86_64.tar.gz

2.        安装

安装参考:

https://mariadb.com/kb/en/library/installing-mariadb-binary-tarballs/

https://mariadb.com/kb/en/library/starting-and-stopping-mariadb-automatically/

1.        root账号安装

groupaddmysql

useradd-g mysql mysql

cd/usr/local

tar-zxvpf /path-to/mariadb-10.1.29-linux-x86_64.tar.gz

ln-s mariadb-10.1.29-linux-x86_64 mysql

cdmysql

./scripts/mysql_install_db--user=mysql

chown-R root .

chown-R mysql data

2.        To startmysqld you should now do:

./bin/mysqld_safe--user=mysql &

3.        Autostart of mysqld

cpsupport-files/mysql.server /etc/init.d/mysql.server

cd/ path-to-your/mariadb-version/support-files/

cpmysql.server /etc/init.d/mysql

chmod+x /etc/init.d/mysql

4.        测试启动:

exportPATH=$PATH:/usr/local/mysql/bin/

mysql-uroot

如果启动有问题:

mkdir/var/log/mariadb

chown-R mysql  /var/log/mariadb

ln-s /var/lib/mysql/mysql.sock /tmp/mysql.sock

启动问题参考:

https://www.biaodianfu.com/centos-7-2-mariadb.html

https://stackoverflow.com/questions/5376427/cant-connect-to-local-mysql-server-through-socket-var-mysql-mysql-sock-38

3.       配置数据库

参考:https://www.cnblogs.com/river2005/p/6813618.html

3.1  使用mysql_secure_installation命令进行配置设置密码,会提示先输入密码

mysql_secure_installation

如下:

Entercurrent password for root (enter for none):<–初次运行直接回车

设置密码

Setroot password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <–
设置root用户的密码
Re-enter new password: <–
再输入一次你设置的密码

其他配置

Removeanonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallowroot login remotely? [Y/n] <–是否禁止root远程登录,回车,

Removetest database and access to it? [Y/n] <– 是否删除test数据库,回车

Reloadprivilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,测试登录

mysql-uroot -ppassword

完成。

3.2  配置MariaDB的字符集

查看/etc/my.cnf文件内容,其中包含一句!includedir /etc/my.cnf.d 说明在该配置文件中引入/etc/my.cnf.d 目录下的配置文件。

1.        使用vi server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加

init_connect='SETcollation_connection = utf8_unicode_ci'

init_connect='SETNAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

如果/etc/my.cnf.d 目录下无server.cnf文件,则直接在/etc/my.cnf文件的[mysqld]标签下添加以上内容。

2.        文件/etc/my.cnf.d/client.cnf

vi/etc/my.cnf.d/client.cnf

[client]中添加

default-character-set=utf8

3.        文件/etc/my.cnf.d/mysql-clients.cnf

vi/etc/my.cnf.d/mysql-clients.cnf

[mysql]中添加

default-character-set=utf8

4.        支持大小写配置

https://mariadb.com/kb/en/library/identifier-case-sensitivity/

sudovi /etc/my.cnf  

[mysqld]下面添加:

lower_case_table_names= 1

重启mariadb服务即可。(注意,修改一定要在创建数据库之前,对修改之前创建的数据库无效)

5.         全部配置完成,重启mariadb

6.        之后进入MariaDB查看字符集

mysql-uroot -ppassword

mysql>show variables like "%character%";show variables like"%collation%";

显示为

4.       添加用户,设置权限

创建用户命令

mysql>createuser username@localhost identified by 'password';

直接创建用户并授权的命令

mysql>grantall on *.* to username@localhost indentified by 'password';

授予外网登陆权限 

mysql>grantall privileges on *.* to username@'%' identified by 'password';

授予权限并且可以授权

mysql>grantall privileges on *.* to username@'hostname' identified by 'password' withgrant option;

mysql>flush privileges;

5.       端口开放

//查看运行状态

firewall-cmd --state

//开发端口

firewall-cmd--zone=public --add-port=3306/tcp --permanent

//重载生效刚才的端口设置

firewall-cmd --reload

6.       远程客户端导入数据库

7.       系统测试数据库

www.htsjk.Com true http://www.htsjk.com/mariadb/29022.html NewsArticle Mysql数据库迁移Mariadb完整方案,mysql迁移mariadb Mysql数据库迁移Mariadb方案 一、       文档描述 l  目的:测试window和linux上MariaDB支持性。 l  原则:window下保留原有Mysql ,安装MariaDB,...
相关文章
    暂无相关文章
评论暂时关闭