Mysql5.7.6+ 安装手册

linux server版本   1.下载  http://dev.mysql.com/downloads/mysql/#downloads  2. 检查库文件是否存在,如有删除     检查:rpm -qa | grep mysql     删除: rpm -e mysql-libs-5.1.52.x86_64 --nodeps 3. 检查mysql组和用户是否存在,如无创建    检查: cat /etc/group | grep mysql               cat /etc/passwd | grep mysql    创建: groupadd mysql                useradd -r -g mysql mysql  //useradd -r参数表示mysql用户是系统用户,不可用于登录系统 4. 解压包,更改所属的组和用户(安装路径:/usr/local/mysql)     $ tar -xzvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz      $ mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql      $ chown -R mysql:mysql mysql/     $ cd  /usr/local/mysql/support-files/     $  vim /etc/my.cnf       ---------------------------------------my.cnf 模板--------------------------------------------- [client] default-character-set=utf8mb4 port    = 3306 socket  = /usr/local/mysqld/mysqld.sock #用于本地连接的socket套接字 [mysql] #这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。 no-auto-rehash [mysqld] #user = mysql port = 3306 basedir=/usr/local/mysql/      #使用该目录作为根目录(安装目录) datadir=/usr/local/mysql/data/ #数据文件存放的目录 tmpdir = /usr/local/mysqld/tmp/ #MySQL存放临时文件的目录     socket =/usr/local/mysqld/mysqld.sock     #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 explicit_defaults_for_timestamp=true  #明确时间戳默认null方式 character_set_server=utf8mb4  #服务端默认编码(数据库级别) collation_server =utf8mb4_bin #服务端默认的比对规则,排序规则 default-storage-engine = InnoDB #默认存储引擎 #Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-warnings = 1 #将警告打印输出到错误 log 文件 [mysqld_safe] pid-file = /usr/local/mysqld/mysqld.pid socket = /usr/local/mysqld/mysqld.sock slow_query_log = 1 #开启慢查询 long-query-time = 10 #漫查询阀值 log_long_format #在慢速日志中记录更多的信息 slow_query_log_file =  /usr/local/mysqld/log/slow_sql.log #慢查询路径 general_log = 0  #将所有到达MySQL Server的SQL语句记录下来,默认关闭 general_log_file = /usr/local/mysqld/log/mysql_sql.log log-error   = /usr/local/mysqld/log/mysqld.err #错误日志路径   4.创建my.cnf 配置的路径文件或文件夹并授权      $ mkdir 文件夹      $ chown -R mysql:mysql  *      $ chmod 755 * 5.将mysqld服务加入开机自启动项     $ cp mysql.server /etc/init.d/mysqld     $ chmod +x /etc/init.d/mysqld     $ chkconfig --add mysqld     $ chkconfig --list mysqld 6.安装和初始化数据库记录初始密码    $ bin/mysqld  --initialize   --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 7.数据库启动/停止/重启    $ service mysqld start    $ service mysqld stop    $ service mysqld restart 8.初始化密码   $ bin/mysql -u root -p 初始密码    mysql>set password=password("root");    mysql> use mysql;    mysql> update user set authentication_string=password('新密码') where user='用户'; 9.修改密码添加远程访问权限    mysql> grant all privileges on *.* to'root' @'%' identified by 'root';    mysql> flush privileges;    mysql> quit; 9.关闭防火墙   $ systemctl disable firewalld.service   window server 版本安装   版本: mysql-5.7.22-winx64.zip  解压路径:  D:\Program Files\mysql-5.7.22-winx64 配置环境变量 解压路径下新建my.ini 文件 [client] default-character-set=utf8 [mysqld] # 端口 port=3306 # 设置mysql的安装目录 basedir=D:\Program Files\mysql-5.7.22-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\Program Files\mysql-5.7.22-winx64\data # 允许最大连接数   max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集   character-set-server=utf8 # 创建新表时将使用的默认存储引擎   default-storage-engine=INNODB 系统管理员启动cmd mysqld --initialize mysqld -install net start mysql 第一次登录 net stop mysql mysqld --defaults-file="D:\Program Files\mysql-5.7.22-winx64\my.ini" --console --skip-grant-tables 设置密码 mysql> use mysql; mysql> update user set authentication_string=password(“root“) where user=”root”; mysql> flush privileges; 客服端连接重新登陆 mysql> set password=password('root'); 设置用户 #查看用户权限 mysql> select user,host from mysql.user; mysql> show grants for 'username'@'host' ; #创建用户 mysql> create user 'username'@'host' identified by 'password'; #授予用户权限 mysql> grant privileges on databasename.tablename to 'username'@'host'; mysql> grant privileges on databasename.tablename to 'username'@'host' with grant option; privileges:用户的操作权限,如select,insert,update等,如果要授予所的权限则使用all。 databasename:数据库名 tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.* with grant option 用户有授权权限。 #设置修改密码 mysql> set password for 'username'@'host' = password('newpassword'); mysql> set password = password("newpassword"); #撤销用户权限 mysql> revoke privilege on databasename.tablename from 'username'@'host'; mysql> update mysql.user set host='192.168.16.%' where user=' username ' and host='host'; #删除用户 mysql> drop user 'username'@'host'; #生效用户权限 mysql> flush privileges;

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Mysql5.7.6+ 主从配置手册

 

master 数据库 /etc/my.cnf 配置 [client] default-character-set=utf8mb4 port    = 3306 socket  = /usr/local/mysqld/mysqld.sock #用于本地连接的socket套接字 [mysql] #这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。 no-auto-rehash [mysqld] #user = mysql port = 3306 basedir=/usr/local/mysql/      #使用该目录作为根目录(安装目录) datadir=/usr/local/mysql/data/ #数据文件存放的目录 tmpdir = /usr/local/mysqld/tmp/ #MySQL存放临时文件的目录     socket =/usr/local/mysqld/mysqld.sock     #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 explicit_defaults_for_timestamp=true  #明确时间戳默认null方式 character_set_server=utf8mb4  #服务端默认编码(数据库级别) collation_server =utf8mb4_bin #服务端默认的比对规则,排序规则 default-storage-engine = InnoDB #默认存储引擎 server-id=1 #设置server-id log-bin=mysql-bin #开启二进制日志 binlog_format=mixed #复制模式 # 不同步哪些数据库   binlog-ignore-db = mysql   binlog-ignore-db = test   binlog-ignore-db = information_schema   # 只同步哪些数据库,除此之外,其他不同步   binlog-do-db = game #Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-warnings = 1 #将警告打印输出到错误 log 文件 [mysqld_safe] pid-file = /usr/local/mysqld/mysqld.pid socket = /usr/local/mysqld/mysqld.sock slow_query_log = 1 #开启慢查询 long-query-time = 10 #漫查询阀值 log_long_format #在慢速日志中记录更多的信息 slow_query_log_file =  /usr/local/mysqld/log/slow_sql.log #慢查询路径 general_log = 0  #将所有到达MySQL Server的SQL语句记录下来,默认关闭 general_log_file = /usr/local/mysqld/log/mysql_sql.log log-error   = /usr/local/mysqld/log/mysqld.err #错误日志路径   slave  数据库 /etc/my.cnf  配置 [client] default-character-set=utf8mb4 port    = 3306 socket  = /usr/local/mysqld/mysqld.sock #用于本地连接的socket套接字 [mysql] #这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。 no-auto-rehash [mysqld] #user = mysql port = 3306 basedir=/usr/local/mysql/      #使用该目录作为根目录(安装目录) datadir=/usr/local/mysql/data/ #数据文件存放的目录 tmpdir = /usr/local/mysqld/tmp/ #MySQL存放临时文件的目录     socket =/usr/local/mysqld/mysqld.sock     #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 explicit_defaults_for_timestamp=true  #明确时间戳默认null方式 character_set_server=utf8mb4  #服务端默认编码(数据库级别) collation_server =utf8mb4_bin #服务端默认的比对规则,排序规则 default-storage-engine = InnoDB #默认存储引擎 server-id=2 #设置server-id #Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-warnings = 1 #将警告打印输出到错误 log 文件 [mysqld_safe] pid-file = /usr/local/mysqld/mysqld.pid socket = /usr/local/mysqld/mysqld.sock slow_query_log = 1 #开启慢查询 long-query-time = 10 #漫查询阀值 log_long_format #在慢速日志中记录更多的信息 slow_query_log_file =  /usr/local/mysqld/log/slow_sql.log #慢查询路径 general_log = 0  #将所有到达MySQL Server的SQL语句记录下来,默认关闭 general_log_file = /usr/local/mysqld/log/mysql_sql.log log-error   = /usr/local/mysqld/log/mysqld.err #错误日志路径 master  创建授权用户  mysql>CREATE USER 'prdrepl'@'192.168.16.%' IDENTIFIED BY 'root';  mysql> use mysql;  mysql> update user set authentication_string=password('reduser') where user='reduser'; 用户赋予 REPLICATION SLAVE 权限  mysql>GRANT REPLICATION SLAVE ON *.* TO 'prdrepl'@'192.168.16.%';  mysql> flush privileges; 查看用户 mysql>select user,host from mysql.user; 查看 master 状态 mysql>show master status; //这里的 mysql-bin.000001和 Position 值 slave 配置时需要用到。 手动同步master数据
  •  master 中现有的数据信息导出
mysqldump -u root -p --all-databases --master-data > all.sql //命令失败 设置软连接 find / -name mysql -print ln -fs /usr/local/mysql/bin/mysqldump /usr/bin ln -fs /usr/local/mysql/bin/mysql /usr/bin
  • 将 all.sql 发送到 slave 服务器 tmp 目 录下
scp all.sql root@192.168.16.14:/tmp
  • slave 导入 master 数据
mysql>stop slave mysql -uroot -p < all.sql 使 slave 与 master 建立连接 mysql> change master to         -> master_host='192.168.16.16',         -> master_user='prdrepl',         -> master_password='prdrepl',        -> master_port=3306,         -> master_log_file='mysql-bin.000001',        -> master_log_pos=623; 启动备份 mysql>start slave; 查看备份是否启动成功 mysql>show slave status \G  Slave_IO_Running: Yes  Slave_SQL_Running: Yes 设置只读属性 mysql>set global read_only=1  //1只读,0读写 mysql>show global variables like "%read_only%"; mysql>flush tables with read lock;// 设定全局锁 备份失效 mysql>unlock tables; //解锁 全局锁               

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄