2.系统中可能存在自带的MySQL,采用命令进行强制删除
rpm –qa|grep mysql
rpm -e mysql-5.1.61 --nodeps强制删除mysql 不考虑依赖关系 (此处根据上一步查询到的结果)
3.安装mysql
rpm -ivh MySQL-server-community-5.1.61-0.rhel5.x86_64.rpm (包名根据实际情况)
4.在MySQL配置文件/etc/my.cnf中根据实际需要添加
lower_case_table_names=1
skip-name-resolve
event_scheduler=1
default-character-set=utf8
wait_timeout=31536000
interactive_timeout=31536000
5.启动服务
cd /etc/init.d
./mysql restart
或者service mysqld restart
6.登陆MySQL
/usr/local/mysql/bin/mysql -u root –p
7.新增用户,根据允许访问的地址和用户,可能需要多次执行。
GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.1.1(你的ip)' IDENTIFIED BY 'password' WITH GRANT OPTION
flush privileges
8.
用SQLyog之类的图形化数据库管理工具把数据库备份出来的sql语句执行一遍
9.完成
最近遇到了一个坑,MySQL数据库服务器硬盘容量告警,而且因为非技术原因,还不能追加硬盘。 通过监控发现,磁盘IO一直100%。直接影响就是系统处理时间越来越长,接口响应耗时也越来越多。 经过分析,发现mysql业务数据库里有好几张大表,而且这几张大表行数都在5000万以上,文件大小都在100G和150G之间。 因为这些表都是备份表,第一反应就是找DBA直接清理掉这些表。 潜意识里以为drop table 和 truncate table效率很高,都会快速完成,但事实上不是。 但意外的是,在执行drop table时,直接导致数据库挂起了,而且还发生了主从切换。 第一次尝试失败。 第一次失败反应出来的问题是,如果数据文件过大,drop table *** 作也得慎用。 那我们可以在drop table之前,想办法把数据文件逻辑清空。比如Linux硬连接的方式,具体步骤如下(假如目标表名是test): ln test.ibd test.ibd.hdlk drop table test 此时,磁盘上真实的数据其实没删除,但数据库里的表,已经删除了。 rm test.ibd.hdlk 到此,数据就能快速清理成功了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)