MySQL工作经验
以下是根据工作中遇到各种场景用到的一些Mysql用法,比较实用,基本是语法之外的一些东西。
修改账户密码
1.打开Mysql控制台,输入原密码;
2.输入以下语法:mysql> set password for root@localhost = password('123456')。
忘了root密码,怎么办?
1. 关闭正在运行的MySQL服务;
2. 打开DOS窗口,转到mysql\bin目录;
3. 输入mysqld --skip-grant-tables 回车; --skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录;
5. 输入mysql回车,如果成功,将出现MySQL提示符 >;
7. 连接权限数据库: use mysql;
8. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号);
9. 刷新权限(必须步骤):flush privileges;
10. 退出 quit;
11. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
彻底卸载mysql
1. 控制面板里卸载Mysql;
2. 删除C:\Program Files\MySQL文件夹(服务安装位置);
3. 删除C:\Documents and Settings\All Users\Application Data\MySQL文件夹(数据库存贮位置);
4. regedit打开注册表, 删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL;HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL(注册表非必要步骤,实在没办法就删);
一台服务器安装多个mysql服务提供给多个项目作测试环境
1. 停止mysql服务;
2. 将数据库安装目录和数据库存贮目录都复制到另外一个路径并重命名;
3. 复制出来的mysql文件夹的my.ini所有的默认路径改成新的路径,并将所有的port=3306改成3307,有两个地方,具体如下:
- 修改如下内容:
- [client]
- port=3307 #第一个数据库的默认端口是3306 这里需要另外启用一个端口
- # The TCP/IP Port the MySQL Server will listen on
- port=3307
- # Path to installation directory.
- basedir="E:\MySQL2\MySQL Server 5.5\" #第二个数据库服务安装位置
- # Path to the database root
- datadir="E:\MySQL2\MySQL Server 5.5\data\" #第二个数据库存放位置
4. 创建服务:(重点:先进入到MySql2的bin目录下,最好先把原来的mysql环境变量删除,防止mysqld用的是之前的文件夹里的)mysqld install MySQL2 --defaults-file="E:\MySQL2\MySQL Server 5.5\my.ini"
5.修改注册表HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services 找到刚才创建的MySQL2,
将ImagePath修改成如下"E:\MySQL2\MySQL Server 5.5\bin\mysqld" --defaults-file="E:\MySQL2\MySQL Server5.5\my.ini" MySQL2
6. 启动新服务
7.1 情况1:对于原数据库data没有一起拷贝,那么需要修改数据库密码,新的数据库默认密码为空,先使用127.0.0.1登入后运行
- 1. use mysql;
- 2. update user set password=password('root') where user='root';
- 3. FLUSH PRIVILEGES;
- 4. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
7.2情况2:直接数据库存贮data都一起拷贝了,那么用户表应该也在里面,就直接用老的数据库密码登录就行。
删除mysql服务
cmd:sc delete mysql,完了之后重启电脑生效。
mysql主从备份
1. 先看主机的
1.1 编辑my.ini文件,找到节点[mysqld],增加三条:
log-bin=mysql-bin
server-id=主机服务器配一个唯一的ID编号,1至32
binlog-do-db=数据库名字,如同步多个数据库用逗号隔开
1.2 重启服务
1.3.pushd C:\Program Files\MySQL\MySQL Server 5.5\bin
1.4.mysql -h192.168.3.22 -uroot -proot
1.5.GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by '123456'; (注意分号一定要加)
1.6.show master status; (注意分号一定要加) 通过这一步获取到文件名和日志索引[配置到从机需要]
2.再看从机的
2.1 编辑my.ini文件,找到节点[mysqld],增加一条:
server-id=从机服务器id,与主机不同,1至32
2.2 重启服务
2.3 pushd C:\Program Files\MySQL\MySQL Server 5.5\bin
2.4.mysql -h192.168.3.180 -uroot -proot
2.5.change master to master_host='192.168.3.22',master_user='mysync',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=107;
2.6.stop slave;
2.7.start slave
2.8.show slave status\G
3. 确认一致性
3.1 对比Master_Log_File 和 Relay_Master_Log_File 是否一致;
3.2 对比Read_Master_Log_Pos 和 Exec_Master_Log_Pos 是否一致;
3.3 Slave_IO_Running: Yes;
3.4 Slave_SQL_Running: Yes;
亲测断网断电都可恢复同步;
账户权限和IP限制
- //进入mysql控制台,删除root远程访问权限,仅允许本机访问
- delete from user where user ='root' and host ='%';
- //保存
- flush privileges;
- //创建mysql只读账户
- grant select on *.*to readonly@"%" identified by "sudy@gjwg123456";
- //创建ip限制的账户
- grant all privileges on *.* to 'root'@'192.100.50.73' identified by 'sudy@gjwg123456';
- //放开root远程登录,允许所有IP访问
grant all privileges on *.* to 'root'@'%' identified by 'sudy@gjwg123456' with grant option;- //保存
flush privileges;
对N张数据结构相同的表批量增加字段
有时候根据模板表让系统自动创建子表用于缓解大数据压力和拆分业务,需要增加字段的时候,就需要对上百张表结构进行改动。
利用CONCAT先批量生成语句,然后全选执行即可。
1. 增加字段:SELECT CONCAT('alter table db_gpsround.',table_name,' add sjlsh int(1) default 0 COMMENT \'审计流水号,0未入库,1已入库\';') as hh FROM information_schema.tables WHERE table_schema = 'db_gpsround';
2. 增加索引:SELECT CONCAT('alter table db_gps_xlbh.',table_name,' add index zjgxsj(zjgxsj);') as hh FROM information_schema.tables WHERE table_schema = 'db_gps_xlbh';
利用mysqldump备份与还原数据库
备份整个数据库
D:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump -uroot -p123 dbparking > E:\mysql_ghost\dbparking.sql
还原整个数据库
D:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -uroot -p123 testpark < E:\mysql_ghost\dbparking.sql
备份表
D:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump -uroot -p123 dbparking 表1 表2 表3> E:\mysql_ghost\dbparking.sql
还原表
同上
定期备份与删除备份
- //利用mysqldump备份,利用winrar压缩,注意备份时会影响其他程序,尽量选择在晚上备份
- @echo on
- cd D:\Program Files\MySQL\MySQL Server 5.5\bin
- set Ymd=%date:~,4%%date:~5,2%%date:~8,2%
- set filename=db_dbjs_%Ymd%
- mysqldump.exe db_dbjs -uroot -psudy1223@2016 -R> D:\DBServerI\db_back\db_dbjs\%filename%.sql
- c:
- cd C:\Program Files\WinRAR
- WinRAR a -m5 -df -ep D:\DBServerI\db_back\db_dbjs\%filename%.rar D:\DBServerI\db_back\db_dbjs\%filename%.sql
- @echo off
- //删除3天前的备份文件
- forfiles /p "D:\DBServerI\db_back" /s /m *.* /d -3 /c "cmd /c del @path"
MySQL工作经验的更多相关文章
- java后端程序员1年工作经验总结
java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为 ...
- 2年Java开发工作经验面试总结
最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪 ...
- 一年工作经验的大专生程序员(java后台)
1.文章前言 作为18应届毕业大专生已工作一年,相信这也是大部分同届生的现状. 那么,一个萌新进入职场一年都经历了什么呢?在校那会我是挺好奇的. 这篇文章是根据自己一年 ...
- 精干货! Java 后端程序员 1 年工作经验总结
一.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少 东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护 和发布当救火队员的苦恼 ...
- Python工作好找吗?没有工作经验和学历怎么找?【就业必学】
大家都知道,随着人工智能时代的到来,Python的需求也变的越来越大了.从目前各大IT招聘网上显示招聘需求是非常大,而且薪资基本都在10k起,高的可达40-50k,当然这个要求很高,看下普遍的吧: 一 ...
- Java2年开发工作经验面试总结
Java2年开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二十五家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些 ...
- 超人学院二期学员分享hadoop工作经验
定于2月17日--2月23日的某一天,邀请咱们学员分享一下hadoop工作经验.对于没工作过的同学或者没从事过hadoop工作的同学,抓住机会啊,你可以提前准备自己关心的各种问题! 具体时间请关注QQ ...
- 经过本人 6 年.net 工作经验证明 .net 工资确实比 Java 低
很久没有逛博客园了,很久没有出来吐槽了.怎么呢?生活压力大,就需要找地方吐槽. 排版不怎么好,文笔不怎么好,可以看出我不是雇佣的写手. 工作到今夏,已经有6个年头了,一直使用着.net技术,但是最近工 ...
- 一位10年Java工作经验的架构师聊Java和工作经验
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...
随机推荐
- (转)ping命令
ping命令 原文:https://www.cnblogs.com/peida/archive/2013/03/06/2945407.html Linux系统的ping命令是常用的网络命令,它通常用来 ...
- javascript document.referrer 用法
document对象的referrer属性,返回导航到当前网页的超链接所在网页的URL. 举例: 1. a.html文件内容如下: <a href="b.html">浏 ...
- Spring Boot使用mongo的GridFS模块
1. GridFS简介 GridFS是Mongo的一个子模块,使用GridFS可以基于MongoDB来持久存储文件.并且支持分布式应用(文件分布存储和读取).作为MongoDB中二进制数据存储在数据库 ...
- Oauth服务端协议开发
授权流程图 AS : Authorization Server (权限服务器) RS : Resource Server (资源服务器) Client :Client RS(资源服务器)流程图 以上仅 ...
- 网页设计,Access入门 2010,数学
网页设计(表格) 创建表格:插入---表格---设置表格大小---确定.(按Ctrl键可多选单元格) 插入图片在表格:光标在单元格---插入---图像---选择图像---确定. 表格属性:属性(屏幕下 ...
- #if #endif #elif #undef
#define aaa //放在代码最前面 int a = 1; a = a + 1; #if !aaa {a = a + 1;}#elif !aaaaa {a=a+11;}#en ...
- iOS 状态栏设置为白色
1.首先需要再info.plist中添加一项View controller-based status bar appearance为no 2.在需要的地方添加代码 [[UIApplication sh ...
- zookeeper的几种使用场景
1.数据的发布与订阅 通过发布与订阅实现配置的信息的统一管理,主要采用zk节点可以存储数据的特性,我们可以将一些配置信息存放到某一节点上,订阅这个节点的服务就可以动态的获取这个节点的数据.在应用启动的 ...
- Azure SQL的DTU和eDTU到底是个什么鬼
可以从上表上对应于本地数据库的性能采集的指标,可以估算出应该使用什么样级别的AZURE SQL. 当然服务层选择后仍然可以进行更改. 对于自己应用应该用多大规模的DTU,可以进行详细的评估,可以使用下 ...
- mongdb增加字段和删除字段
增加字段 db.xxx.update({},{"$set":{"column1":1,"column2":0}},false,true); ...