/ 中存储网

CentOS 5.10系统上安装MySQL 5.5.2数据库

2014-07-13 16:20:32 来源:中存储网
Linux系统要搭建好GCC的编译环境。
使用CentOS的话可以:
yum -y install gcc
yum -y install gcc-c++

    创建安装目录
   mkdir /data/mysql

    cd mysql-5.5.2-m2/

    ./configure --prefix=/data/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase,myisammrg

   (出现configure: error: No curses/termcap library found错误,加上--with-named-curses-libs=/usr/lib/libncursesw.so.5参数可以解决,或者再用yum安装ncurses-devel也可)

    make

    make install

    在make install的后半过程,有一段比较长时间的停顿,不要担心死掉了,实际上它还活着,耐心的等待,最终会安装完毕。

3、如果还没有mysql用户,创建:

     groupadd mysql

     useradd mysql -g mysql

4、修改目录权限:

     chmod +w /data/mysql
     chown -R mysql:mysql /data/mysql

5、创建数据目录(mysql5.5默认已经没有data目录了)

     mkdir /data/mysql/data

6、从源安装目录拷贝文件
       cp support-files/my-medium.cnf /etc/my.cnf //拷贝my-medium.cnf文件到/etc/目录下并重命名为my.cnf
      
      在[mysqld]段添加
        basedir=/data/mysql
        datadir=/data/mysql/data
      
      cp support-files/mysql.server /etc/init.d/mysqld
       chmod 755 /etc/init.d/mysqld
       编译/etc/init.d/mysqld
       把basedir=编辑成basedir=/data/mysql
       把datadir=编辑成datadir=/data/mysql/data

       chkconfig --add mysqld
       chkconfig --level 3 mysqld on
 
7、初始化数据库:

     /data/mysql/bin/mysql_install_db --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql 
8、安装完成。初始密码都为空。

      service mysqld start
     mysql -uroot -p  直接回车进入mysql
      查看mysql数据库下的user表。密码为空。
9、添加环境变量
   vi /root/.bash_profile  添加 红色部分 :/data/mysql/bin

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/data/mysql/bin

export PATH

unset USERNAME

###################################

修改密码的方式:

/data/mysql/bin/mysqladmin -u root password '123456'
其中引号内的      123456    是要设置的root密码
第二种更改密码的方式:

# mysql -u root mysql

mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password  from user where User='root';
mysql>flush privileges;
mysql>exit

注:红色password为mysql的加密方式。在user表中保存的密码非明文,而是以*开头的一串加密的字符串,切记直接将明文密码直接update到数据库。否则,登录会提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)。