Centos7安装设置MySQL以及主从配置详细

1、Mysql服务器安装:

一、下载安装mysql的yum Repository:

[root@bogon soft]# mkdir /usr/local/soft/mysql
[root@bogon soft]# cd /usr/local/soft/mysql
[root@bogon mysql]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

上边下载了yum Repository,接下来便可安装yum Repository:mysql

[root@bogon mysql]# yum -y install mysql57-community-release-el7-10.noarch.rpm

二、安装MySQL服务器:

[root@bogon mysql]# yum -y install mysql-community-server

说明mysql已安装完成了。sql

2、Mysql服务器设置:

一、启动mysql服务(任何目录下均可以):

[root@bogon ~]# systemctl start mysqld.service

设置开机启动:数据库

[root@bogon ~]# systemctl enable mysqld.service

二、查看mysql服务器运行状态:

[root@bogon ~]# systemctl status mysqld.service

三、获取MySQL默认的root用户的密码:

[root@bogon ~]# grep "password" /var/log/mysqld.log

根据上边的提示,root的密码为:/c8dHFj8GLozvim

四、进入数据库:

[root@bogon ~]# mysql -uroot -p

输入上边的密码进入。centos

五、修改root帐号的密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOU/password@121';
YOU/password@121替换为本身定义的密码,注意须要小写和大写以及符号组成,否则会修改失败。

六、建立用户以及分配权限:

语法命令:服务器

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:更换为你的用户名。
host:受权的地址,若是是本地可以使用localhost,也可直接指定ip,所有受权使用 %。
password:更换为你的密码

例如:
mysql> CREATE USER 'youname'@'%' IDENTIFIED BY 'YOU/password@121';

七、用户帐号受权

语法命令:tcp

GRANT privileges ON databasename.tablename TO 'username'@'host'

privileges:用户的操做权限,若是授予全部权限则使用all.ide

databasename:数据库名称。tablename:表名。若是要给该用户授予对全部操做权限则可用*表示,例如*.*编码

例如:centos7

test_admin2用户设置test_db的只读(select)权限
mysql> GRANT SELECT ON test_db.* TO 'test_admin2'@'%';

 

  设置youname用户的全部权限,而且开启远程访问:

mysql> grant all privileges on *.* to 'youname'@'%' identified by 'YOU/password@121' with grant option;

其中的 % 表示 开启全部的权限,若是只开启某一个ip,那么把%替换为ip地址就可。

刷新权限(设置完成后,必须进行设置):

mysql> flush privileges;

查看用户受权信息:

mysql> SHOW GRANTS FOR 'youname'@'%';

八、设置更改mysql语言:

查看,mysql状态:

mysql> status

根据上图看出Server 和Db的编码不是utf-8。

先退出当前mysql

mysql> exit

编辑my.cnf:

[root@bogon ~]# vim /etc/my.cnf

键盘输入 “i” 进入编辑状态,插入如下内容:

[client]
# 默认编码为utf8
default-character-set=utf8

......

# 设置服务编码
character-set-server=utf8
# 设置校对规则
collation-server=utf8_general_ci

图下图:

 键盘按下ESC退出编辑模式,键盘输入“:wq”保存并退出,重启mysql:

[root@bogon ~]# service mysqld restart

再次查看,mysql状态:

[root@bogon ~]# mysql -uroot -p

输入密码后查询状态:

mysql> status

输出如图所示:

说明修改过来了。

退出mysql:

mysql> exit

九、防火墙开放端口(3306):

[root@bogon ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

防火墙重起:

[root@bogon ~]# firewall-cmd --reload

十、mysql服务器经常使用命令:

查看MySQL运行状态

systemctl status mysqld.service

关闭MySQL服务

systemctl stop mysqld.service

启动MySQL命令:

systemctl start mysqld.service

重启MySQL命令:

systemctl restart mysqld.service

3、主从设置:

MySQL 主从也被称为 复制、 AB 复制,简单来讲, 就是 A和B两台服务器,在A 服务器上 写入数据, 服务器B上也会跟 着写入数据 二者之间的数据是同步的。

MySQL 主从是基于 binlog的,主必须开启 binlog 才能进行主从。

如今准备两台服务器,上边都安装了mysql。

主:192.168.30.110

从:192.168.30.111

一、设置MySQL主:

编辑my.cnf:

[root@bogon ~]# vim /etc/my.cnf

键盘输入 “i” 进入编辑状态,插入如下内容:

server-id=110
log_bin=centos7

以下图所示:

 

 

键盘按下ESC退出编辑模式,键盘输入“:wq”保存并退出,重启mysql:

[root@bogon ~]# service mysqld restart

重启之后,mysql的数据目录下(编辑my.conf时上图中的datadir的目录)会生成两个文件:centos7.index索引文件、centos7.000001日志文件。

 

建立用户,主从同步使用:

[root@bogon bin]# mysql -uroot -p
mysql> CREATE USER 'masterSlaveUser'@'129.168.30.%' IDENTIFIED BY 'weiLAI@119';
mysql> grant all privileges on *.* to 'masterSlaveUser'@'129.168.30.%' identified by 'weiLAI@119';

第一句:建立用户名为:masterSlaveUser,受权的地址:129.168.30.%    %表示全部,密码:weiLAI@119

第二句:受权该帐号在地址129.168.30.%下的全部权限。

刷新权限(设置完成后,必须进行设置):

mysql> flush privileges;

查询binlog日志须要监听的端口,从须要使用:

mysql> SHOW MASTER STATUS;

如图所示:

 

 

二、设置MySQL从:

编辑my.cnf:

[root@bogon ~]# vim /etc/my.cnf

键盘输入 “i” 进入编辑状态,插入如下内容:

server-id=111

备注:

此处的server-id=111是从的地址,和主不一样。

此处不须要配置log_bin,从不须要二进制日志文件。

键盘按下ESC退出编辑模式,键盘输入“:wq”保存并退出,重启mysql:

[root@bogon ~]# service mysqld restart

 

重点来了:

链接主数据库:

[root@bogon bin]# mysql -uroot -p

change master to master_host='192.168.30.110',
master_port=3306,
master_user='masterSlaveUser',
master_password='weiLAI@119',
master_log_file='centos7.000001',
master_log_pos=875;

备注:

(1)第一句:链接主mysql,地址为:192.168.30.110

(2)链接的端口、使用的帐号、密码

(3)后边两个是日志文件和端口,此处的875就是主查看日志的端口

如图所示:

 

 而后输入一下命令,启动从:

mysql> start slave;

查看是否成功:

mysql> show slave status\G

Slave_IO_ Running和Slave_SQL _Running 都为yes,即为成功。

 

主从同步必须关闭防火墙,不然不会显示 Yes

 

至此mysql安装和配置完成。

相关文章
相关标签/搜索