centos7 安装mysql

来源:互联网 发布:西安环境监测数据造假 编辑:程序博客网 时间:2024/05/17 00:15

关闭自动提交:

set autocommit=0;

centos安装mysql,并开启原程登陆

1:下载 MySQL Yum Repository

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2:添加 MySQL Yum Repository

yum localinstall mysql-community-release-el7-5.noarch.rpm

3:验证下是否添加成功

yum repolist enabled | grep "mysql.*-community.*"可以看到下面内:[root@bogon software]# yum repolist enabled | grep "mysql.*-community.*"mysql-connectors-community/x86_64        MySQL Connectors Community           1mysql-tools-community/x86_64             MySQL Tools Community                1mysql56-community/x86_64                 MySQL 5.6 Community Server          13

4:选择要启用 MySQL 版本
查看 MySQL 版本,执行

yum repolist all | grep mysql
可以看到 5.5, 5.7 版本是默认禁用的,因为现在最新的稳定版是 5.6

[root@bogon software]# yum repolist all | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 14
mysql-connectors-community-source MySQL Connectors Community - Sourc 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 17
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sourc 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 启用: 139
mysql56-community-source MySQL 5.6 Community Server - Sourc 禁用
mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Develop 禁用
mysql57-community-dmr-source MySQL 5.7 Community Server Develop 禁用
可以通过类似下面的语句来启动某些版本

yum-config-manager –disable mysql56-community
yum-config-manager –enable mysql57-community-dmr

5:通过 Yum 来安装 MySQL

yum install mysql-community-server 

6:设置密码

systemctl start mysqlmysql_secure_installation //在bash中执行,按提示一步一步往下走

7:防火墙设置

systemctl start firewalld//出现mask错误信息 执行 systemctl unmask firewalldfirewall-cmd --permanent --zone=public --add-port=3306/tcpfirewall-cmd --permanent --zone=public --add-port=3306/udp这样就开放了相应的端口。执行firewall-cmd --reload 使最新的防火墙设置规则生效。

8:开启远程登录 远程访问设置

创建一个普通用户 sa ,密码是 some_passCREATE USER 'sa'@'%' IDENTIFIED BY 'some_pass';给这个用户授予 SELECT,INSERT,UPDATE,DELETE 的远程访问的权限,这个账号一般用于提供给实施的系统访问GRANT SELECT,INSERT,UPDATE,DELETE  ON *.* TO 'sa'@'%';创建一个管理员用户 admin 账号 ,密码是 some_passCREATE USER 'admin'@'%' IDENTIFIED BY 'admin';给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作。GRANT  ALL PRIVILEGES  ON *.* TO 'admin'@'%';使授权立刻生效flush privileges;

这里有个问题(腾讯云这个大坑有个安全组策略,一定要选择开放所有端口,不然你是不可能成功的!!)
ok,大功告成

2:配置mysql主从复制

1:首先在两台服务器上都按我上述步骤安装了相同的mysql版本
2:在主服务器上开启3306的tcp和udp连接
3:修改主服务器上的配置文件

`vim /etc/my.cnf`[mysqld]       log-bin=mysql-bin   //[必须]启用二进制日志        server-id=1         //[必须]服务器唯一ID,默认是1,一般取IP最后一段       binlog-do-db=wordpress   //[可选] 设置需要同步的数据,如果不设置将同步所有数据库       binlog_ignore_db=mysql  //[可选] 忽略mysql数据,因为mysql数据库是mysql的一些帐户存放,这个没有必要同步日志一定要启用 之后会用到 

4:修改从服务器上的配置文件

vim /erc/my.cnf[mysqld]       log-bin=mysql-bin   //[必须]启用二进制日志       server-id=2       //[必须]服务器唯一ID,默认是1,一般取IP最后一段

server-id 不能相同

5:重启两个mysql,
6: 登录主服务器为从服务器授权

GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by 'slave'; //这表示在主服务器上开启一个用户名叫slave密码为slave的从服务器然后登录msyql执行 show master status;加下 mysql-bin后面的小数和positon 格式如下+------------------+----------+-----------------------+------------------+| File             | Position | Binlog_Do_DB          | Binlog_Ignore_DB |+------------------+----------+-----------------------+------------------+| mysql-bin.000004 |      106 | wordpress,wordpress   | mysql,mysql      |+------------------+----------+--------------+---------------------------+flush privileges;

7:从服务器设定主服务器信息:

 CHANGE MASTER TO MASTER_HOST = '主服务器ip'; CHANGE MASTER TO MASTER_USER = 'slave'; CHANGE MASTER TO MASTER_PASSWORD = 'slave'; CHANGE MASTER TO MASTER_PORT = 3306; CHANGE MASTER TO MASTER_LOG_FILE = 'mysql-bin.000004';  //后面的000003 就是show master status中的信息 下面的一样 CHANGE MASTER TO MASTER_LOG_POS=106; START SLAVE;

8:检测是否成功
在从服务器上执行命令:
show slave status\G;

Slave_IO_Running = YesSlave_SQL_Running = Yes//这两个参数为yes就是没错

到此主从配置完毕!!

0 0