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

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