MySql集群讲解(二)Mysql Liunx环境下搭建

                           MySql集群讲解(二)

MySQL Linux环境下搭建

  A:下载: wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

  B:安装前环境检查:

          1、检查Linux是否安装了mariadb数据库,mariadb数据库是mysql的分支,执行命令:

yum list installed | grep mariadb

rpm -qa | grep mariadb

2、若Linux中安装了mariadb数据库,先卸载掉,mariadb数据库与安装mysql会发生冲突,执行命令:

yum -y remove mariadb-libs.x86_64

或者

rpm -e mariadb-libs-5.5.52-1.el7.x86_64

rpm -e postfix-2:2.10.1-6.el7.x86_64

(其中mariadb-libs.x86_64是第1步搜索出来的mariadb软件包,不同机器可能不一样)

C:安装

 1、解压下载下来的mysql软件压缩包,执行命令:

tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

(其中 -C /usr/local 是指定解压到哪个目录下去)

2、将解压后的mysql-5.7.18-linux-glibc2.5-x86_64改名为mysql-5.7.18

或者 mysql,为了一眼看出我们mysql的版本,建议改名为mysql-5.7.18

执行:mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7.18

3、在mysql-5.7.18文件夹目录下创建一个/data/3306/文件夹,

切换到mysql-5.7.18目录,执行命令;

mkdir data,然后再data目录下再创建 3306 文件夹

4、添加mysql用户及用户组,执行命令:

groupadd mysql

useradd mysql -g mysql

-g: 是指定用户所在组

5、切换到mysql-5.7.18/bin目录下执行:

./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql-5.7.18/data/3306 --basedir=/usr/local/mysql-5.7.18

其中 --initialize-insecure 表示不生成临时密码

6、在mysql-5.7.18/bin目录下执行命令:

./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data/3306

7、更改mysql-5.7.18整个文件夹目录权限所属,执行命令:

chown -R mysql:mysql /usr/local/mysql-5.7.18/

D:配置:

     1:在mysql-5.7.18/data/3306 目录下创建my.cnf文件

     2:配置my.cnf文件

  [client]

port        = 3306

socket      = /usr/local/mysql-5.7.18/data/3306/mysql.sock

default-character-set=utf8

 

[mysqld]

port    = 3306

socket  = /usr/local/mysql-5.7.18/data/3306/mysql.sock

datadir = /usr/local/mysql-5.7.18/data/3306

log-error = /usr/local/mysql-5.7.18/data/3306/error.log

pid-file = /usr/local/mysql-5.7.18/data/3306/mysql.pid

 

character-set-server=utf8

lower_case_table_names=1

autocommit = 1

E: 启动MySQL服务,在mysql-5.7.18/bin目录下执行命令:

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3306/my.cnf &(其中 & 符号表示后台启动)

F:启动后的注意事项

     a:修改密码:

                        1、登录进入mysql,在mysql-5.7.18/bin目录下执行命令:

./mysql -uroot -p -S /usr/local/mysql-5.7.18/data/3306/mysql.sock

其中 -p 是指定密码,没有密码,则可以不写 -p,-S是指定sock文件

2、修改mysql的密码,执行:

alter user 'root'@'localhost' identified by '123456';

(其中123456是我们设置的密码)

                b:设置远程访问

                    

1、授权远程访问,执行命令:(这样远程客户端才能访问)

grant all privileges on *.* to root@'%' identified by '123456';

 

其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;

root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.10.129 

2、执行以下如下命令刷新权限:

flush privileges;

3、如果上面授权远程访问执行了之后依然远程连接不上mysq,可能是Linux上防火墙拦截了,可以将防火墙先关闭

关闭防火墙命令:systemctl stop firewalld (该命令是临时关闭防火墙,重启centos后失效)