安装MySQL
参考文章:
打造完美接口文档 - 发布springboot应用到阿里云服务器--打造完美接口文档 - 发布springboot应用到阿里云服务器_ruglcc's blog-CSDN博客
1.安装之前更新一下软件库
sudo apt-get update
2.安装mysql服务器
apt-get install mysql-server 作为发布有mysql服务器已经够了
也可以安装上client
apt-get install mysql-client
3.设置密码
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
4.验证mysql是否安装成功
sudo netstat -tap | grep mysql
启动、停止MySQL服务
MySQL服务器在安装完成后自动启动,启动MySQL的命令
sudo service mysql start
查看MySQL的状态
sudo service mysql status
查看mysql服务:
sudo netstat -tap | grep mysql
停止MySQL服务
sudo service mysql stop
重启 :service mysql restart
卸载方法
1.sudo apt-get autoremove --purge mysql-server
2.sudo apt-get remove mysql-server
3.sudo apt-get autoremove mysql-server
4.sudo apt-get remove mysql-common
5.清理残留数据 dpkg -l |grep mysql|awk '{print $2}' |sudo xargs dpkg -P
操作用户
查看所有用户:
select user,host from mysql.user;
创建用户:
create user 'name'@'host' identified by 'password';
修改密码:
set password for 'user'@'host' = password('new password');
赋予权限:
grant all on *.* to 'user'@'host';
删除用户:
drop USER 'username'@'host';
开启远程连接:(/etc/mysql/mysql.conf.d/mysqld.cnf)
设置bind-address=0.0.0.0
binlog
参考文章:
mysql查看binlog日志内容_天涯的浪子-CSDN博客_查看binlog
怎么查看mysql 的binlog日志存放的位置 - 简书
查看日志开启状态(以及binlog所在位置): show variables like 'log_%';
开启binlog:
在[mysqld]组新增配置,server-id表示从哪个服务写入。
[mysqld]
log-bin=mysql-bin
server-id=123455
查看所有binlog日志列表 :show master logs;
查看指定binlog文件内容:
1. show binlog events in 'mysql-bin.000002';
2./usr/bin/mysqlbinlog /var/lib/mysql/mysql-bin.000039
明文显示:
mysqlbinlog -v --base64-output=DECODE-ROWS /var/lib/mysql/mysql-bin.000040|grep -A4 'INSERT' >/hwb/binlog000040insert.text
执行:
mysqlbinlog --stop-date="" /var/lib/mysql/mysql-bin.000040 | mysql -uroot -p123456
开启慢查询:
1. 开启慢查询: mysqld.cnf 配置文件:
slow_query_log = 1
slow_query_log_file=/var/log/mysql/slow/mysql-slow.log
long_query_time = 1
进入mysql执行: show variables like 'slow%';
如果slow_query_log=OFF(慢查询关闭) ,则开启set global slow_query_log=ON;
2.分析慢查询sql
mysqldumpslow -s r -t 10 mysql-slow.log
查看配置命令
show variables like '%timeout%'
connect_timeout 连接最长时间
lock_wait_timeout sql语句请求元数据锁的最长等待时间
interactive_timeout / wait_timeout mysql关闭交互/非交互连接前等待的最大时限。默认28800秒
net_read_timeout / net_write_timeout mysql服务器端等待从客户端读取数据 / 向客户端写入数据的最大时限,默认30秒。
show full processlist; 查询与mysql建立连接详情,
show variables like '%max_connections%'; 最大连接数
show status like 'Threads%'; 查询与mysql连接数量,正在运行数量
Threads_connected连接数, Threads_running正在运行数