mysql使用
安装服务器端 yum install mysql-server
启动mysql ; service mysqld start
netstat -tnlp :查看mysql端口号3306
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令
mysql初始操作:
执行 mysql_secure_installation 初始化
Enter current password for root (enter for none): 默认为空
Remove anonymous users? [Y/n] :是否一处匿名用户,建议移除
Disallow root login remotely? [Y/n] :是否允许运城登陆,无用,默认不允许
Remove test database and access to it? [Y/n] :是否移除测试数据库。建议不移除
Reload privilege tables now? [Y/n] 是否重新加载权限表,y
Thanks for using MySQL!
mysql启动控制:
service mysqld start/stop
进入mysql方式:
mysql -u 用户名 -p 密码 :建议密码不输
mysql -u 用户名 -p
退出:
ctrl+c
exit :最合理
mysql一些重要位置:
数据库存储目录:/var/lib/mysql
配置文件:/etc/my.cnf
数据库常用操作,不区分大小写需要有;结束
mysql> show databases;
显示所有数据库
mysql> create database hzp;
创建数据库
mysql> drop database hzp;
删除数据库
mysql> use hzp; 切换使用数据库 use 数据库名
Database changed
数据库备份操作:
全量备份:
# mysqldump -uroot -p123456 -A > 备份文件路径
指定备份:
# mysqldump mysqldump -uroot -p123456 库名 >本分文件路径
多库备份:
# mysqldump mysqldump -uroot -p123456 --databases 库名1 库名1 库名2 >本分文件路径
如:mysqldump -uroot -p123456 -hzp > /tmp/msq/A.sql :备份hzp数据库为A.sql
案例:每一分钟,备份一次hzp数据库,计划任务
shell 脚本:
#!/bin/bash
filename="hzp_"`date +'%Y%m%d%H%M%S'`".sql"
mysqldump -uroot -p123456 hzp > /tmp/msq/$filename
定时任务:什么不写*,每个一分钟备份一次
[root@localhost msq]# crontab -e
#分 时 日 月 周
* * * * * /tmp/msq/test19.sh
数据库还原操作:注意区分系统命令和mysql命令。
注意:只记住source版本即可
还原全部数据库:
1、mysql命令行:mysql> source 备份文件路径
2、系统命令: #mysql -uroot -p123456 < 备份文件路径
还原单个数据库:(记住第一种)
1、mysql> use 库名
mysql> source 备份文件路径
2、 musql -uroot -p123456 库名 < 备份文件路径
示例:还原指定数据库hzp
mysql> use hzp
mysql> source /tmp/msq/hzp_20181029144301.sql
远程连接:
service iptables stop :停止防火墙 ,或开放3306端口
查询防火墙状态 : [root@localhost ~]# service iptables status
停止防火墙 : [root@localhost ~]# service iptables stop
启动防火墙 : [root@localhost ~]# service iptables start
重启防火墙 : [root@localhost ~]# service iptables restart
永久关闭防火墙 : [root@localhost ~]# chkconfig iptables off
永久关闭后启用 : [root@localhost ~]# chkconfig iptables on
如何解决mysql允许远程登陆:
1、先进入mysql数据库
> use mysql
> mysql> select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+
2、将其中一个host值改为"%" 表示可以允许远程登陆
update user set host = '%' where host ='localhost';
mysql> select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
+-----------+------+
3、刷新权限表或重启mysql
刷新:mysql> flush privileges
重启:service mysqld restart