一, 方法一
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 了...
来源: http://www.bubuko.com/infodetail-3364974.html