Skip to content

Commit 9a59833

Browse files
committed
2016-04-16完善MySQL,NTP文章
1 parent 4417ea5 commit 9a59833

File tree

3 files changed

+54
-12
lines changed

3 files changed

+54
-12
lines changed

Mysql-Install-And-Settings.md

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
- 安装依赖包、编译包:`yum install -y make gcc-c++ cmake bison-devel ncurses-devel`
2525
- 进入解压目录:`cd /usr/program/mysql-5.6.29/`
2626
- 生成安装目录:`mkdir -p /usr/program/mysql/data`
27-
- 生成配置:`sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/program/mysql -DMYSQL_DATADIR=/usr/program/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1`
27+
- 生成配置(使用 InnoDB)`sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/program/mysql -DMYSQL_DATADIR=/usr/program/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1`
2828
- 更多参数说明可以查看:<http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html>
2929
- 编译:`sudo make`,这个过程比较漫长,一般都在 30 分钟左右,具体还得看机子配置,如果最后结果有 error,建议删除整个 mysql 目录后重新解压一个出来继续处理
3030
- 安装:`sudo make install`
@@ -53,41 +53,79 @@
5353
- 现在进入了 mysql 命令行管理界面,输入:`SET PASSWORD = PASSWORD('123456');`
5454
- 修改密码后,终端下执行:`mysql -uroot -p`
5555
- 根据提示,输入密码进度 mysql 命令行状态。
56+
- 如果你在其他机子上连接该数据库机子报:**Access denied for user 'root'@'localhost' (using password: YES)**
57+
- 解决办法:
58+
- 在终端中执行:`service mysql stop`
59+
- 在终端中执行:`/usr/program/mysql/bin/mysqld --skip-grant-tables`
60+
- 此时 MySQL 服务会一直处于监听状态,你需要另起一个终端窗口来执行接下来的操作
61+
- 在终端中执行:`mysql -u root mysql`
62+
- 进入 MySQL 命令后执行:`UPDATE user SET Password=PASSWORD('填写你要的新密码') where USER='root';FLUSH PRIVILEGES;`
63+
- 重启 MySQL 服务:`service mysql restart`
64+
65+
66+
## Mysql 配置
67+
68+
- 官网配置参数解释:<http://dev.mysql.com/doc/refman/5.6/en/mysqld-option-tables.html>
69+
- 找一下当前系统中有多少个 my.cnf 文件:`find / -name "my.cnf"`,我查到的结果:
70+
``` nginx
71+
/etc/my.cnf
72+
/usr/program/mysql/my.cnf
73+
/usr/program/mysql/mysql-test/suite/ndb/my.cnf
74+
/usr/program/mysql/mysql-test/suite/ndb_big/my.cnf
75+
.............
76+
/usr/program/mysql/mysql-test/suite/ndb_rpl/my.cnf
77+
```
78+
- 保留 **/etc/my.cnf** 和 **/usr/program/mysql/mysql-test/** 目录下配置文件,其他删除掉。
5679

5780

5881

5982
## MySQL 主从复制
6083

84+
### 环境说明和注意点
85+
6186
- 假设有两台服务器,一台做主,一台做从
6287
- MySQL 主信息:
63-
- IP:**12.168.1.113**=
88+
- IP:**12.168.1.113**
6489
- 端口:**3306**
6590
- MySQL 从信息:
6691
- IP:**12.168.1.115**
6792
- 端口:**3306**
6893
- 注意点
6994
- 主 DB server 和从 DB server 数据库的版本一致
7095
- 主 DB server 和从 DB server 数据库数据一致
71-
- 主 DB server 开启二进制日志,主 DB server 和从 DB server 的 server_id 都必须唯一
96+
- 主 DB server 开启二进制日志,主 DB server 和从 DB server 的 server-id 都必须唯一
7297
- 优先操作:
73-
- 把主库的数据库复制到从库并导入
98+
- **把主库的数据库复制到从库并导入**
99+
100+
### 主库机子操作
101+
74102
- 主库操作步骤
75-
- 创建一个目录:`mkdir -p /usr/program/mysql/data/log-bin`
76-
- 主 DB 开启二进制日志功能:`vim /usr/program/mysql/my.cnf`,
77-
- 添加一行:`log-bin = /usr/program/mysql/data/log-bin`
103+
- 创建一个目录:`mkdir -p /usr/program/mysql/data/mysql-bin`
104+
- 主 DB 开启二进制日志功能:`vim /etc/my.cnf`,
105+
- 添加一行:`log-bin = /usr/program/mysql/data/mysql-bin`
78106
- 指定同步的数据库,如果不指定则同步全部数据库,其中 ssm 是我的数据库名:`binlog-do-db=ssm`
79107
- 重启主库 MySQL 服务
80108
- 进入 MySQL 命令行状态,执行 SQL 语句查询状态:`SHOW MASTER STATUS`
81109
- 在显示的结果中,我们需要记录下 **File** 和 **Position** 值,等下从库配置有用。
82110
- 设置授权用户 slave01 使用 123456 密码登录主库,这里 @ 后的 IP 为从库机子的 IP 地址,如果从库的机子有多个,我们需要多个这个 SQL 语句。
83111

84112
``` SQL
85-
grant replication slave on *.* to 'slave01'@'192.168.1.133' identified by '123456';
113+
grant replication slave on *.* to 'slave01'@'192.168.1.135' identified by '123456';
86114
flush privileges;
87115
```
88116

89-
- 从库操作步骤
90117

118+
### 从库机子操作
119+
120+
121+
- 从库操作步骤
122+
- 测试从库机子是否能连上主库机子:`sudo mysql -h 192.168.1.105 -u slave01 -p`,必须要连上下面的操作才有意义。
123+
- 由于不能排除是不是系统防火墙的问题,所以建议连不上临时关掉防火墙:`service iptables stop`
124+
- 或是添加防火墙规则:
125+
- 添加规则:`sudo iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT`
126+
- 保存规则:`sudo service iptables save`
127+
- 重启 iptables:`sudo service iptables restart`
128+
- 修改配置文件:`vim /etc/my.cnf`,把 server-id 改为跟主库不一样
91129
- 在进入 MySQL 的命令行状态下,输入下面 SQL:
92130

93131
``` SQL
@@ -104,6 +142,7 @@ master_log_pos=1120;>>>这个值复制刚刚让你记录的值
104142
- 执行该 SQL 语句,查看从库机子同步状态:`SHOW SLAVE STATUS;`
105143
- 在查看结果中必须下面两个值都是 Yes 才表示配置成功:
106144
- `Slave_IO_Running:Yes`
145+
- 如果不是 Yes 也不是 No,而是 Connecting,那就表示从机连不上主库,需要你进一步排查连接问题。
107146
- `Slave_SQL_Running:Yes`
108147
- 如果你的 Slave_IO_Running 是 No, 那你可以检查从库下的错误日志:`cat /usr/program/mysql/data/mysql-error.log`
109148
- 如果里面提示 uuid 错误,你可以编辑从库的这个配置文件:`vim /usr/program/mysql/data/auto.cnf`,把配置文件中的:server-uuid 值随便改一下,保证和主库是不一样的。

NTP.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@
2424
- 启动服务:
2525
- `sudo service ntpd start`
2626
- 服务加到启动项
27-
- `sudo apt-get install -y sysv-rc-conf `
28-
- `sudo sysv-rc-conf ntpd on`
27+
- CentOS 系统
28+
- `sudo chkconfig ntpd on`
29+
- Ubuntu 系统
30+
- `sudo apt-get install -y sysv-rc-conf `
31+
- `sudo sysv-rc-conf ntpd on`
2932

3033
## NTP 资料
3134

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
- [Jenkins 安装和配置](Jenkins-Install-And-Settings.md)
4040
- [Maven 安装和配置](Maven-Install-And-Settings.md)
4141
- [Nexus 安装和配置](Nexus-Install-And-Settings.md)
42-
- [Mysql 安装和配置](Mysql-Install-And-Settings.md)
42+
- [MySQL 安装和配置](Mysql-Install-And-Settings.md)
4343
- [Redis 安装和配置](Redis-Install-And-Settings.md)
4444
- [Solr 安装和配置](Solr-Install-And-Settings.md)
4545
- [Jira 安装和配置](Jira-Install-And-Settings.md)

0 commit comments

Comments
 (0)