因工作需要,需安装mysql5.7.23,记录一下安装步骤和遇到的问题。
服务器:腾讯云
1.准备工作
   a.确定系统的版本名:cat /etc/redhat-release  结果 CentOS release 6.4 (Final)
   b.查看空间大小  df -h
   c.安装远程服务器连接工具,我用的是Flashftp .遇到的报错有 [连接失败,连接已拒绝]
     处理方法:方法一. 检查用户名和密码是否正确,查看配置[连接类型] - SFTP over SSH
     方法二.  查看ftp服务是否开启。
     首先:检查是否安装 vsftpd     
     rpm -qa | grep vsftpd 
    有结果就是已安装,否则执行 
      yum -y install vsftpd 
      其次:查看端口是否启动:
   netstat -antp|grep sshd 端口是22
      最后:启动vsftpd 服务 
      service vsftpd start  开始服务
       service vsftpd stop  结束服务
     
service vsftpd restart  重起服务
    注意:root用户默认无法访问linux的ftp, 在以下两个文件
      /etc/vsftpd.ftpusers
     /etc/vsftpd.user_list
     注释root用户
    否则Flashftp还是连接不上。

      d.下载mysql :https://dev.mysql.com/downloads/mysql/
2.开始安装Mysql
       参考博文: https://blog.csdn.net/tr1912/article/details/81270406
       步骤如下:一:解压: tar -zvxf mysql-***.tar
       改变mysql(mkdir mysql) 权限 chown -R mysql.mysql /usr/local/mysql/
      改变data (在新建的mysql下创建data)  chown -R mysql data   chmod 755  data
       二:  初始化数据库   
      bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql -datadir=/usr/local/mysql/data
      三: 配置/etc/my.cnf  
        my.cnf的需要配置basedir,datadir,log-error,pid-file,skip-grant-tables
      四: 启动数据库  
       service mysqld start 
       service mysqld stop
       service mysqld restart
   如果遇到错误,重新初始化. 
        五:在 /etc/profile配置Mysql 命令:
        export PATH=$PATH:/usr/local/mysql-5.7.22/bin
        source /etc/profile(刷新)
        六:重设密码: 
        update mysql.user set authentication_string=PASSWORD('123456') where                        User='root'; 
         flush privileges;
        alter user user() identified by "123456";
       七:远程访问连接设置:
       grant all privileges on *.* to root@'%' identified by '123456' with grant option;
         启动报错: 1. pid进程找不到。解决方法:用skip-grant-table模式进入,pid文件自动  
       2. sock文件找不到  my.cnf配置 
      socket = /tmp/mysql.sock
      user = mysql
      tmpdir = /tmp

3.配置从库设置
    1. my.cnf 设置 server-id = 2
     2. 配置  CHANGE MASTER TO MASTER_HOST='x.x.x.x', MASTER_USER='x', MASTER_PASSWORD='x', MASTER_PORT=3306, MASTER_LOG_FILE='x.x', MASTER_LOG_POS=x, MASTER_CONNECT_RETRY=10;
    3. show slave status \G
      报错: 1032  主库记录多余从库,需要同步两个库记录
      同步方法:1. 手工找到缺失记录,在从库创建。
      通过file和position找到缺失记录: master-log需要在主库执行, relay-log在从库执行
      bin/mysqlbinlog --base64-output=decode-rows -vv  /usr/local/mysql/data/(Master_Log_File)或者(Relay_Log_File)|grep -A 20 'Read_Master_Log_Pos'或者(Relay_Log_Pos)
    2.my.cnf 配置 
    slave-skip-errors =  1032
   这样从库就会同步到主库最新的binlog file。 待恢复后,再注释掉配置
    service mysqld restart;
   start slave;
   3.忽略单条event(需重复N次)
  STOP SLAVE;                                 
   SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
   START SLAVE;


 其它: 1.linux下查看文件大小 单位G  ls -lh        
 2. mysqld_safe登陆方式:
bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/data &  --启动服务
bin/mysqld_safe --skip-grant-tables &   无密码登陆数据库
3.mysql 设置事务隔离级别
set session transaction isolation level read uncommitted;
SELECT @@tx_isolation;
4.binlog的模式 row  mixed 区别 参考
show variables like 'binlog_format%';
https://www.cnblogs.com/langtianya/p/5504774.html


参考博文:
https://www.linuxidc.com/Linux/2017-01/139299.htm
https://www.cnblogs.com/lanzi/archive/2012/03/31/2427676.html
http://blog.chinaunix.net/uid-25266990-id-2557040.html
https://blog.csdn.net/weiyuefei/article/details/69946585
https://blog.csdn.net/xiaosong_2016/article/details/83309612
https://www.jb51.net/article/110313.htm
https://jingyan.baidu.com/article/f25ef254891845482c1b8215.html
https://www.cnblogs.com/Lam7/p/6090975.html
https://www.cnblogs.com/martinzhang/p/3454358.html

09-23 00:53