MySQL数据库(一)编译安装、安装后优化操作及超户忘记数据库密码的解决方法

Wesley13
• 阅读 757

MySQL的下载地址:http://www.dev.mysql.com/downloads

准备工作:卸载rpm方式安装的mysql-server、mysql

      rpm -qa | grep mysql

若存在,用rpm -e mysql-server mysql --nodeps命令卸载

安装ncurses-devel与cmake包

yum -y install ncurses-devel

tar xf cmake-2.8.6.tar.gz -C /usr/src/

cd /usr/src/cmake-2.8.6/

./configure && gmake && gmake install

源码编译及安装:

增加程序用户mysql:

useradd -M -s /sbin/nologin mysql

解压mysql-5.5.22.tar.gz:

tar xf mysql-5.5.22.tar.gz -C /usr/src

cmake 配置,编译及安装:

cd /usr/src/mysql-5.5.22/

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install

安装后优化操作:

修改mysql安装目录的属主和属组:

  chown -R mysql:root /sur/local/mysql/

创建修改my.cnf配置文件:

  /bin/cp support-file/my-medium.cnf /etc/my.cnf

my.cnf配置文件相关介绍,在mysql解压路径support-files/下提供的模板:

my-huge.cnf        巨大数据量

my-innodb-heavy-4G.cnf    innodb引擎

my-large.cnf        大数据量

my-medium.cnf        测试使用

my-small.cnf          小数据量

MySQL数据库存储引擎:

myisam

innodb

不同的引擎备份方法不同,在备份时一定要先看引擎在备份!!!

添加系统服务:

  cp support-files/mysql.server /etc/int.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig mysqld --add

chkconfig mysqld --list

添加MySQL命令执行的路径到PATH环境变量:

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

. /etc/profile

echo $PATH

执行mysql_install_db脚本初始化数据库:

  /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

启动mysql服务,并查看运行状态:

/etc/init.d/mysqld start

netstat -anpt | grep :3306

连接并登陆到mysql操作环境:

  mysqladmin -uroot password'123123'(首次登陆需创建密码)

退出登陆:

  quit、exit、ctrl+D

设置数据库用户名密码:

  mysqladmin -uroot password'123123';history -c

忘记MySQL超户密码的解决方法

方法一:

1.暂停MySQL服务:

  /etc/init.d/mysqld stop

2.跳过grant表授权,进入安全模式,并在后台运行:

  mysqld_safe --skip-grant-tables &

jobs(查看后台进程)

3.进入安全模式修改密码:

  mysql

use mysql:

update user set Password=password('123123') where user='root';

flush privieges;

4.重启mysql服务,尝试用新密码登录:

/etc/init.d/mysqld restart

mysql -uroot -p123123

方法二:

1.修改配置文件:

vim /etc/my.cnf

2.重启:

/etc/init.d/mysqld restart

3.进入mysql修改密码:

  mysql

use mysql;

update user set Password=password('123123') where user='root'

flush privileges;

4.修改/etc/my.cnf配置文件,把skip_grant_tables行删掉,重启MySQL服务:

mysql -uroot -p123123

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这