centos mysql sql文件命令?sql打开数据库命令
各位老铁们,大家好,今天由我来为大家分享centos mysql sql文件命令,以及sql打开数据库命令的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
如何升级CentOS 6.5下的MySQL
CentOS 6.5自带安装了MySQL 5.1,但5.1有诸多限制,而实际开发中,我们也已经使用MySQL 5.6,这导致部分脚本在MySQL 5.1中执行会出错。我们只能升级MySQL
方法/步骤
备份数据库,升级MySQL通常不会丢失数据,但保险起见,我们需要做这一步。输入命令:
mysqldump-uxxx-hxxx-P3306-p--all-databases>databases.sql
停止MySQL服务,输入命令:
servicemysqldstop
卸载旧版MySQL,输入命令:
yumremovemysqlmysql-*
执行过程中会询问你是否移除,此时输入“Y”
移除命令执行后,可再看看是否有残余的mysql,输入命令:
yumlistinstalled|grepmysql
如果有,可输入命令删除:
rumremovemysql-libs
下载安装最新的rpm文件
rpm-Uvh
安装MySQL,输入命令:
yuminstallmysql-community-server
安装完成后,输入命令查看MySQL版本号:
mysql-V
启动MySQL,输入命令:
servicemysqldstart
centos7怎么安装mysql
1、Centos 7默认不支持mysql(都是因为钱),所以centos 7默认支持的是mariadb
何为mariadb?
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
说到这,我个人强烈推荐大家开始学习MariaDB,当然由于我们一些项目还是要用mysql的,所以不能放弃。真不难学。
接下来我讲一下centos 7对mysql的安装过程
1、如果一定要在centos 7上安装mysql,需要卸载MariaDB,否则会冲突。
2、执行这个命令:rpm-qa| grep mariadb
3、这时会出现一些列表,都是mariadb的包,接下来我们要干掉
4、执行如下命令rpm-e–nodeps mariadb-libs-XXXXX.x86_64(注意我这里的xxxx,要根据第三步出现的列表,挨个干)
5、干完后,就可以安装mysql了。
6、去度娘搜索mysql的rpm包,一大把。我用的是5.6.22.(找不到的,问我要)
ww
这里需要安装至少2个,1个是mysql-server-xxxx.rpm(这个就是服务端),还有一个是mysql-client-xxxx.rpm(这个是客户端,不想装?不装的话你没法初始化root密码,求懂)
7、执行 rpm-ivh“上面两个文件名”
8、这样就装好了。
9、然后执行:service mysql start(如果OK,说明装好了)
10、再然后执行:service mysql stop(不要问为什么,因为默认root没有密码,你进不去,所以接下来我们要绕过密码登录)
11、执行这个命令:mysqld_safe–user=mysql–skip-grant-tables–skip-networking& mysql-u root mysql(也就是,老子不用密码直接登录,这时mysql服务必须关闭状态)
12、然后执行这个命令:UPDATE user SET Password=PASSWORD(‘XXXXX’) where USER=’root’;这里就是对root账号初始化密码,xxx自行改,不要忘了。忘掉的话就要用第11步初始化(谁说没有密码就不能进mysql?)
13、然后执行 flush privileges;(注意不要忘记最后的分号,必须有,不要问为什么)
14、然后输入quit;退出mysql客户端。
15、重新启动mysql,命令:service mysql start
16、然后用root账号登录命令:mysql-u root-p(接下来会提示你输入密码,此时屏幕不可见,不要以为死机了)
17、这时随便执行一个sql,譬如 show databases;
18、这时会报错,大约是You must SET PASSWORD before executing this statement.其实就是我们常见的:第一次登录需要改密码,
19、那我们就改一改吧,反正不会怀孕
20、执行 SET PASSWORD= PASSWORD(‘xxxx’);注意分号,也可以把密码跟上面搞得一样。
21、然后再去执行一些sql,看看对不对。对的话quit;
22、最后,我们最好吧mysql重启一下. service mysql restart
23、然后配置远程可以连接(注意刚才我们都是在本机操作的哦~~~~)
24、依然mysql-u root-p输入密码后登入
25、执行:GRANT ALL PRIVILEGES ON*.* TO‘root’@’%’ IDENTIFIED BY‘这里填你的密码’ WITH GRANT OPTION;(这里root@后面的百分号代表全宇宙都可以连接你的mysql,只要知道密码),如果是仅仅允许某个IP连接,那么把这个百分号换成某个ip即可
26、FLUSH PRIVILEGES;并且退出
27、保险起见,再重启mysql服务
好吧,OK了。接下来大家可以用navicate去连接啦
怎么reset mysql master
重置mysql主从同步(MySQL Reset Master-Slave Replication)
在mysql主从同步的过程中,可能会因为各种原因出现主库与从库不同步的情况,网上虽然有一些解决办法,但是有时很难彻底解决,重置主从服务器也许不是最快的办法,但却是最安全有效的。
下面将自己重置主从同步的步骤总结一下,以备不时之需。
master与slave均使用:centos6.0+mysql 5.1.61,假设有db1,db2两个数据库需要热备。
文中shell与mysql均使用root账号,在真实环境中,请根据情况更换。
1.停止slave服务器的主从同步
为了防止主从数据不同步,需要先停止slave上的同步服务。
STOP SLAVE;
2.对master服务器的数据库加锁
为了避免在备份的时候对数据库进行更新操作,必须对数据库加锁。
FLUSH TABLES WITH READ LOCK;
如果是web服务器也可以关闭apache或nginx服务,效果也是一样的。
3.备份master上的数据
mysqldump-u root-p-databases db1 db2> bak.sql
4.重置master服务
RESET MASTER;
这个是重置master的核心语法,看一下官方解释。
RESET MASTER removes all binary log files that are listed in the index file, leaving only a single, empty binary log file with a numeric suffix of.000001, whereas the numbering is not reset by PURGE BINARY LOGS.
RESET MASTER is not intended to be used while any replication slaves are running. The behavior. of RESET MASTER when used while slaves are running is undefined(and thus unsupported), whereas PURGE BINARY LOGS may be safely used while replication slaves are running.
大概的意思是RESET MASTER将删除所有的二进制日志,创建一个.000001的空日志。RESET MASTER并不会影响SLAVE服务器上的工作状态,所以盲目的执行这个命令会导致slave找不到master的binlog,造成同步失败。
但是我们就是要重置同步,所以必须执行它。
5.对master服务器的数据库解锁
UNLOCK TABLES;
如果你停止了apache或nginx,请开启它们
6.将master上的备份文件拷贝到slave服务器上
大可不必用WinScp先下载到本地再上传到slave上,可以直接使用scp命令在服务器间拷贝,速度更快。
scp-r root@XXX.XXX.XXX.XXX:/root/bak.sql./
7.删除slave服务器上的旧数据
删除前,请先确认该备份的是否都备份了。
DROP DATABASE db1;
DROP DATABASE db2;
8.导入数据
SOURCE/root/bak.sql;
9.重置slave服务
RESET SLAVE;
还是看一下官方解释
RESET SLAVE makes the slave forget its replication position in the master's binary log. This statement is meant to be used for a clean start: It deletes the master.info and relay-log.info files, all the relay log files, and starts a new relay log file. To use RESET SLAVE, the slave replication threads must be stopped(use STOP SLAVE if necessary).
大概意思是,RESET SLAVE将清除slave上的同步位置,删除所有旧的同步日志,使用新的日志重新开始,这正是我们想要的。需要注意的是,必须先停止slave服务(STOP SLAVE),我们已经在第一步停止了它。
10.开启slave服务
START SLAVE;
大功告成,SHOW SLAVE STATUS\G检查同步状态,一切正常。