mysql-5.7.25安装以及使用
1、
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
2、
yum install -y libaio
3、检查你所用的Linux下有没有安装过mysql,没有卸载干净
rpm -qa|grep -i mysql
如果存在,则需要先卸载掉,不然会出现覆盖错误。
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 将找到的相关东西delete掉;
rpm -qa|grep mysql(查询出来的东东yum remove掉)
4、创建mysql的用户组/用户, data目录及其用户目录
mkdir -p /usr/local/mysql/data # mysql的默认安装路径,建议不要更换,如果更换后续需要更新配置 在mysql文件夹下创建文件夹data
useradd mysql # 创建一个名为mysql的用户组
5、解压缩并转移
# tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz # 解压文件
# cd mysql-5.7.17-linux-glibc2.5-x86_64 # 进入
# mv * /usr/local/mysql/
6、编译安装
cd /usr/local/mysql/
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
记录上面成功安装后的密码,如上:hIE;k,h8gd#q,后续用到!
7、配置mysql
chown -R mysql.mysql /usr/local/mysql # 赋予权限
#进入mysql的安装目录支持文件目录
cd /usr/local/mysql/support-files
# 拷贝配置文件模板为新的mysql配置文件,
cp my-default.cnf /etc/my.cnf
#设置编码,可按需修改新的配置文件选项, 不修改配置选项, mysql则按默认配置参数运行.
#如下是我修改配置文件/etc/my.cnf, 设置编码为utf8以防乱码
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=1
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
此处需要注释掉##sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
否则后续登陆时会报异常:
mysql: [ERROR] unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
8、启动mysql服务
/usr/local/mysql/support-files/mysql.server start
截至目前,证明mysql已运行成功!!!
9、配置mysql服务开机自动启动
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld # 拷贝启动文件到/etc/init.d/下并重命令为mysqld
# chmod 755 /etc/init.d/mysqld # 增加执行权限
# chkconfig --list mysqld # 检查自启动项列表中没有mysqld这个,
# chkconfig --add mysqld # 如果没有就添加mysqld:
# chkconfig mysqld on # 用这个命令设置开机启动:
10、mysql服务的启动/重启/停止
# systemctl start mysqld # 启动服务
# systemctl restart mysqld # 重启服务
# systemctl stop mysqld # 停止服务
11、修改mysql用户root的密码以及开放远程授权
ln -s /usr/local/mysql/bin/mysql /usr/bin #软链接到/usr/bin
mysql -u root -p
输入之前记录的密码,登陆mysql
SET PASSWORD = PASSWORD('123456'); # PASSWORD()里面的123456 是设置的新密码,可以设置成你的密码
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
grant all privileges on *.* to 'root'@'localhost' identified by '123456'; #mysql远程授权
12、更改一些编码
use mysql;
\s #查看mysql信息
show variables like 'character%';
SET character_set_database = utf8;
show variables like 'character%';
\s
13、调整防火墙、开启3306端口:
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
systemctl restart iptables
至此,单机数据库就安装完成了,至于如何创建数据库,请自行查询文档.
PS:如果需要配置主从,请参照以上1-13步,在配置一台新的机器
主从配置
主配置文件修改:
mysql -u root -p #进入mysql
create user 'repl'@'slave_IP' IDENTIFIED BY 'repl'; #给slave创建可以同步数据的账号密码
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repl'@'slave_IP' IDENTIFIED BY 'repl'; #给slave授权访问权限
flush privileges;
select user,host,authentication_string from mysql.user;
show master status\G;
获得File信息和Position信息,从库配置稍后需要使用
从库配置:
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=2
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
重启从数据库
systemctl restart mysqld
mysql -u root -p #进入mysql
change master to master_host='1master_ip', master_user='repl', master_password='repl', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=1136, master_connect_retry=30;
start slave; #mysql-bin.000001就是主库的File信息,master_log_pos就是主库的Position信息
show slave status\G; #查看,如果没有报错,即代表成功,你就可以开始尝试在主库建表,看看从库是否有相同信息了。
如有报错:
检查master的状态:
show master status\G;
比对change master的master_log_file和master_log_pos是否和master一致,如果一致,执行以下命令:
stop slave;
reset slave;
start slave;
备份:
mysqldump -u root -p --databases choose test > roverliang.sql
./mysqlbinlog --no-defaults --database=jiashunc --start-datetime="2018-01-25 09:00:00" --stop-datetime="2018-01-26 10:40:00" --base64-output=decode-rows -vv ../data/mysql-bin.000005
l重置root密码:
# systemctl stop mysqld # 停止服务
# /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & #不检查权限的方式启动
#use mysql;
update mysql.user set authentication_string=password('Aa111111') where user='root' ;
# 然后退出,重启服务
# systemctl restart mysqld
mysql -u root -p
输入之前重置的密码,登陆mysql
mysql> use mysql; #会报如下错误
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
SET PASSWORD = PASSWORD('Aa111111'); #重新在设置一下密码即可.
mysql-5.7.25安装以及使用的更多相关文章
- Mac 下 Nginx、MySQL、PHP-FPM 的安装配置
用了3年多的本本罢工,最近新入手了一台 rmbp,一堆工作环境要配置,LNMP 里的 NMP 是常规要安装的,恰好也是第一次在 mac 上安装配置 nginx.mysql.php,所以顺便做个记录,免 ...
- Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法
Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法,apt-get install 安装的,不是源码包安装的mysql. 1 修改mysql的配置文件 /etc/mysql/conf ...
- CentOS下MySQL 5.7编译安装
CentOS下MySQL 5.7编译安装 文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...
- resin4.0.25 安装配置 及结合eclipse开发
resin4.0.25 安装配置 及结合eclipse开发 本文大部分内容是对官网的翻译,及自己配置后的一些体会. 一. 基于win ,resin基本安装1,安装jdk1.6或更高版本2,配置环境 ...
- Mysql的资源(安装版+解压版)
Mysql的安装(安装版+解压版)! 首先有几个比较好的参考,mysql官网,菜鸟教程: (1)安装版 安装版资源,SQLyog-8.32(sn)(可视化工具), 安装过程基本和安装其它程序没有什么大 ...
- Azkaban2.5安装部署(系统时区设置 + 安装和配置mysql + Azkaban Web Server 安装 + Azkaban Executor Server安装 + Azkaban web server插件安装 + Azkaban Executor Server 插件安装)(博主推荐)(五)
Azkaban是什么?(一) Azkaban的功能特点(二) Azkaban的架构(三) Hadoop工作流引擎之Azkaban与Oozie对比(四) 不多说,直接上干货! http://www.cn ...
- MySQL 源码编译安装脚本
cat mysql_init.shmysql_init.sh mysql_init.sh.20190401 mysql_init.sh.back20171030 ...
- Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置
文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...
- CentOS MySQL 5.7编译安装
CentOS MySQL 5.7编译安装 MySQL 5.7 GA版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 更好的性能: ...
- Linux下的 Mysql 8.0 yum 安装 并修改密码
1.MySQL版本: mysql> select @@version;+-----------+| @@version |+-----------+| 8.0.18 |+-----------+ ...
随机推荐
- Zeller 公式:计算任意一天是星期几
Zeller's Formula: For the Gregorian calendar, Zeller's Formula is \[\displaystyle W=\left(\left\lflo ...
- [CSP-S模拟测试]:笨小猴(随机化)
题目传送门(内部题118) 输入格式 输入第一行是一个整数$n$,意义如以上所示. 接下来有$2n+1$行,每行为两个正整数,第$i$行的两个正整数分别代表$A_i$和$B_i$. 输出格式 如果无法 ...
- iOS检测QQ是否安装
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]]) { ...
- C++入门经典-例3.15-使用do-while循环计算1到10的累加
1:代码如下: // 3.15.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...
- 通过实例聊聊Java中的多态
Java中的多态允许父类指针指向子类实例.如:Father obj=new Child(); 那么不禁要发问?? 使用这个父类型的指针访问类的属性或方法时,如果父类和子类都有这个名称的属性或方法,哪 ...
- 转 Cookie、Session
https://www.cnblogs.com/liwenzhou/p/8343243.html Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况 ...
- Emacs Python 自动补全之 jedi
jedi jedi 的安装配置并不是很友好.github 上也没有明确说明.查了很多资料, 最后才配置成功.可是效果却不是很理想.在补全的时候有明显的卡顿现象. 不知道网上这么多人对其推崇备至是因为什 ...
- VIM速查表-转
在linux上一直使用vim,慢慢熟悉了它的命令,才终于领悟了什么是编辑器之神. 最近抽空整理了这份速查表,收获颇丰,并分享给大家. 进入vim vim配置 移动光标 屏幕滚动 插入文本类 删除命令 ...
- jenkins docker 发布
分享下怎么使用jenkins 发布 docker 首先准备docker的相关部分 docker tomcat基础镜像,这边使用centos7做系统,dockerfile如下: #tomcat基础镜 ...
- failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED 错误解决方法
解决: config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=con ...