您好,欢迎访问一九零五行业门户网

MySQL 安装与主从配置

我是ssh远程 配置的;略微有些不同,大家自己斟酌。1.安装mysqlsudo yum install mysql mysql-server sudo chgrp -r mysql /var/
我是ssh远程 配置的;略微有些不同,大家自己斟酌。
1.安装mysql
sudo yum install mysql mysql-server
sudo chgrp -r mysql /var/lib/mysql
sudo chmod -r 770 /var/lib/mysql
sudo service mysqld start
第一次安装设置密码:mysql_secure_installation
回车,根据提示输入y
输入2次密码,回车
根据提示一路输入y
最后出现:thanks for using mysql!
2.创建一个新的用户test在mysql上
mysql>grant all privileges on mysql .* to test@192.168.100.206 identified by 'mysql';
这里顺便提下取消授权的命令 为revoke 再将语句中的to 换为from 达到撤销已赋权限的目的
删除用户的命令为
drop user 用户名@‘%’
 以下内容为在mysql上建立的一个test的数据库操作的
3.mysql主从配置
 grant all on *.* to user1@192.168.100.205 identified by mysql;
192.168.100.205 slave(从服务器)的ip
mysql从服务器上登陆mysql主服务器
sudo mysql -uuser1 -pmysql -h192.168.100.206
4.主服务器my.cnf配置
[mysqld]
server-id=1
log-slow-queries=mysql-slow.log
log-error=mysql.err
log=mysql.log
log-bin=mysql-bin
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
从服务器my.cnf配置
[mysqld]
port=3306
server-id=2
expire_logs_day=7
log-slow-queries=mysql-slow.log
log-error=mysql.err
log=mysql.log
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#character-set-server = utf8
#collation-server =utf8_general_ci 此行和上一行为改变编码为utf8 ,
#如果要改的话一定要注意所有的编码都要改
# disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
5.mysql服务器备份(主服务器)
#mysqldump -uroot -pmysql test -l -f '/tmp/test.sql'
此命令备份不用另外读锁
-f即flush logs
-l 表示数据库只能进行读的操作
tips:可以通过binlog日志恢复 ,还有flush logs 的作用很重要,也可以说flush作用很大
进行操作完成前最好刷新下日志。
6.mysql的恢复:
mysql -uroot -pmysql test -v -f-v 查看导入的详细信息;
-f 是当中间遇到错误时可以skip,,继续执行下面的语句
恢复binlog-file的二进制日志文件
mysqlbinlog --no-defaults binlog-file |mysql -uroot -pmysql
但是很多时候binlog日志里面有些操作需要丢弃;
那就要使用不同的命令来满足需求了:
#mysqlbinlog --no-defaults mysqk-bin.000004 --start-position=193--stop-position=280|more
恢复position位置为193-280的数据。
从第一次开始恢复可以去掉--start-position
也可以通过时间点来恢复
如:--stop-date=xxxx-xx-xx xx:xx:xx'
--start-date=xxxx-xx-xx xx:xx:xx'
6.将主服务器上备份的文件复制到从服务器tmp下
scp /tmp/test.sql 192.168.100.205:/tmp/
然后在从服务器上进行恢复,恢复之前最好先reset master;
mysql -uroot -pmysql test  
mysql> show slave status\g;
*************************** 1. row ***************************
              slave_io_state: waiting for master to send event
                  master_host: 192.168.100.206
                  master_user: user1
                  master_port: 3306
                connect_retry: 60
              master_log_file: mysql-bin.000004
          read_master_log_pos: 262
              relay_log_file: mysqld-relay-bin.000006
                relay_log_pos: 407
        relay_master_log_file: mysql-bin.000004
            slave_io_running: yes
            slave_sql_running: yes  #这两行yes代表成功了
              replicate_do_db:
          replicate_ignore_db:
          replicate_do_table:
      replicate_ignore_table:
      replicate_wild_do_table:
  replicate_wild_ignore_table:
                  last_errno: 0
                  last_error:
                skip_counter: 0
          exec_master_log_pos: 262
              relay_log_space: 708
              until_condition: none
              until_log_file:
                until_log_pos: 0
          master_ssl_allowed: no
          master_ssl_ca_file:
          master_ssl_ca_path:
              master_ssl_cert:
            master_ssl_cipher:
              master_ssl_key:
        seconds_behind_master: 0
master_ssl_verify_server_cert: no
                last_io_errno: 0
                last_io_error:
              last_sql_errno: 0
              last_sql_error:
1 row in set (0.00 sec)
以下为用到的一些命令及笔记
mysql> insert into t1 values(4),(5),(6),(7),(8);插入
其它类似信息

推荐信息