CentOS 7 安装MySql 5.5.60

一、方法一

tar.gz安装

1.安装之前的准备

  • 卸载centos7自带的mariadb

rpm -qa|grep mariadb     #查看一下是否有mariadb相关的包
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64      #把查询到的包卸载
  • 下载mysql安装包

wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.60.tar.gz
  • 下载cmake安装包
wget https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz
  • 添加mysql用户和组
    groupadd mysql
    useradd mysql -s /sbin/nologin -M -g mysql   # -s /sbin/nologin 表示禁止该用户登录,加强安全; -g mysql 指定属于mysql组; -M 表示不创建用户家目录
  • 安装ncurses-devel
    yum install ncurses-devel -y
  • 安装cmake
    tar zxvf cmake-3.10.2.tar.gz -C /usr/local
    cd /usr/local/cmake-3.10.2
    ./configure
    gmake && gmake install 此处如果失败请检查configure配置时的错误文件,根据文件提示操作,然后再进行配置。也可以安装 gcc再试

2.安装myqsl

tar zxvf mysql-5.5.60.tar.gz
cd mysql-5.5.60
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.60 -DMYSQL_DATADIR=/application/mysql-5.5.60/data -DMYSQL_UNIX_ADDR=/application/mysql-5.5.60/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0
make && make install
  • 做软连接

    ln -s /application/mysql-5.5.60/ /application/mysql
  • mysql目录授权

    chown -R mysql:mysql /application/mysql-5.5.60/
  • 复制相关文件

    cd /application/mysql/support-files
    cp my-small.cnf /etc/my.cnf
    cp mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
  • mysql初始化
    cd /application/mysql/scripts/
    ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

     
  • 启动mysql
    /etc/init.d/mysqld start
  • 配置环境变量
    echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile
    source /etc/profile
  • 配置登陆密码
    /application/mysql//bin/mysqladmin -u root password 'bai123456'
  • 设置mysql开机启动

    chkconfig mysqld on
    chkconfig --list mysqld        #查看一下
  • 登录mysql

正常的情况是可以正常登陆进去的,但是我在登录的时候报了以下错误信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决方法:

  • 1.停止mysql数据库
    /etc/init.d/mysqld stop
  • 2.执行如下命令
    mysqld_safe --user=mysql --skip-grant-tables --skip-networking &   
  • 3.使用root登录mysql数据库
    mysql -u root mysql
  • 4.更新root密码
    UPDATE user SET Password=PASSWORD('ZACS164.COM') where USER='root';
  • 5.刷新权限
    FLUSH PRIVILEGES;
  • 6.退出mysql
  • 7.重启mysql

    /etc/init.d/mysqld restart
  • 8.使用root用户重新登录mysql

二、方法二

tar.gz安装

准备安装

由于CentOS7自带的是 Mariadb, 所以先来删除他吧...

1. 查找版本

# rpm -qa|grep mariadb

执行命令后会出现类似 MariaDB-server-5.5.49-1.el7.centos.x86_64 之类的鬼..记住名字就行了..

2. 删除

# rpm -e --nodeps 上面查出来的文件名

3. 删除配置文件

# rm /etc/my.cnf

到这里就OK了...现在我们开始安装mysql

开始安装

 1. 首先官方下载MySQL Community Server 5.5.60

这里要选Linux - Generic哟.

2. ftp上传到CentOS中

3. 解压

# tar -xvf mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz

4. 复制到local文件夹, 注意,这里前面mysql的文件夹最好使用 ls 命令查看一下.

# mv mysql-5.5.60-linux-glibc2.12-x86_64 /usr/local

 5. 修改文件夹名称, 注意文件夹名称哟..

# cd /usr/local
# mv mysql-5.5.60-linux-glibc2.12-x86_64 mysql-5.5.60

6. 修改my.cnf配置文件

# vi /etc/my.cnf

将以下内容添加到my.cnf

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
socket=/var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
#设置3306端口
port = 3306 
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录, 这里的目录一定要是你解压后并且改了名的目录哟..
basedir=/usr/local/mysql-5.5.60
# 设置mysql数据库的数据的存放目录, 这里的目录一定要是你解压后并且改了名的目录哟..
datadir=/usr/local/mysql-5.5.60/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M

7. 切换目录到mysql中

# cd /usr/local/mysql-5.5.60

 8. 添加用户组与用户, 这里需要将目录切换到mysql目录下哟..

# groupadd mysql
# useradd -g mysql mysql
# chown -R mysql:mysql ./

9. 安装mysql

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

接上图

10. 配置Mysql

# chown -R mysql:mysql data
# chown 777 /etc.my.cnf
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld

11. 开启服务

# service mysqld start

12. 配置PATH

# vi ~/.bash_profile

在文件最后面加入以下内容,并使用:wq保存

export PATH=$PATH:/usr/local/mysql-5.5.60/bin

13. 刷新PATH

# source ~/.bash_profile

14. 登录mysql, 这时mysql没有密码, 当出现Enter password:时直接回车

# mysql -uroot -p

 15. 修改root密码

mysql> use mysql
mysql> update user set password=password('需要设置的密码') where user='root' and host='localhost';
mysql> flush privileges;

16. 设置远程登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '刚才设置的root密码' WITH GRANT OPTION;

到此所有配置全部完毕. 你可以使用sqlyog或者其他方式登录mysql了...

 

原文地址:https://www.cnblogs.com/VicLiu/p/12148073.html