CentOS7 虚拟机安装mysql5.6

本文详细记录了在Linux环境下,从安装MySQL到配置过程中遇到的启动失败问题及其解决步骤。包括安装MySQL社区版,配置my.cnf文件,启动mysqld服务时出现的错误,以及通过运行mysql_install_db命令并使用--force选项最终解决问题的过程。
查看mysql软件
rpm -qa|gref mysql
卸载mysql
yum remove -y mysql mysql-libs mysql-common
rm -rf /var/lib/mysql
rm /etc/my.cnf
安装mysql
wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-communiti-release-el6-5.noarch.rpm
yum install -y mysql-community-server
配置mysql
vim /etc/my.cnf
修改内容如下
lower_case_table_names=1
#default-character-set=utf8

datadir=/var/lib/mysql
basedir=/usr/local/mysql

启动mysql
systemctl start mysqld
报错
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

查看错误日志
vi /var/log/mysqld.log

2019-12-05 11:43:00 45464 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist
2019-12-05 11:43:00 45464 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2019-12-05 11:43:00 45464 [Note] InnoDB: Using atomics to ref count buffer pool pages
2019-12-05 11:43:00 45464 [Note] InnoDB: The InnoDB memory heap is disabled

解决办法
1./usr/bin/mysql_install_db --user=mysql 


# 报错
FATAL ERROR: Neither host 'localhost.localdomain' nor 'localhost' could be looked up with
/usr/local/mysql/bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option

2. 查看hosts
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1   localhost localhost.localdomain localhost6 localhost6.localdomain6

3. 重新/usr/bin/mysql_install_db --user=mysql
还是报错
4.按照第一步提示加上--force 
/usr/bin/mysql_install_db --user=mysql --force
成功

重新启动mysql
systemctl start mysqld
### 升级 MySQL 5.6 到最新版本的步骤 将虚拟机中的 MySQL 5.6 升级到最新版本需要经过多个步骤,包括备份数据、检查兼容性、执行升级命令以及验证升级结果。以下是对整个过程的详细说明: #### 1. 备份现有数据库 在进行任何升级操作之前,确保对现有的数据库进行完整备份。可以使用 `mysqldump` 工具来完成此操作[^1]。 ```bash mysqldump -u root -p --all-databases > backup.sql ``` 这一步是为了防止升级过程中发生不可逆的数据丢失。 #### 2. 停止 MySQL 服务 在开始升级之前,必须停止正在运行的 MySQL 服务以避免数据损坏或冲突[^1]。 ```bash systemctl stop mysqld ``` #### 3. 检查系统兼容性 确保当前操作系统支持目标版本的 MySQL。例如,在 CentOS 系统中,可以通过更新软件仓库来获取最新的 MySQL 版本[^2]。 ```bash sudo yum install mysql57-community-release-el7-11.noarch.rpm sudo yum update mysql-server ``` #### 4. 执行升级操作 安装新版本的 MySQL 并保留旧版本的数据目录。随后,使用 `mysql_upgrade` 工具检查和修复所有表的兼容性问题[^1]。 ```bash mysql_upgrade -u root -p ``` 此工具会自动检测并修复表结构中的不兼容问题,但不会更新 `help` 表中的信息。 #### 5. 验证升级结果 重启 MySQL 服务以应用更改,并验证升级是否成功[^1]。 ```bash systemctl start mysqld mysql -u root -p -e "SELECT VERSION();" ``` 如果输出显示为最新版本号,则表示升级成功。 #### 6. 修改配置文件(如有必要) 如果在升级后遇到启动失败或其他错误,可能需要调整 MySQL 的配置文件(如 `my.cnf`)。确保配置项与新版本兼容[^3]。 --- ### 注意事项 - 在升级过程中,可能会遇到因插件或存储引擎不兼容而导致的问题。建议提前查阅官方文档以了解具体要求。 - 如果计划从 MySQL 5.6 直接升级到 8.0,需特别注意字符集和排序规则的变化,因为这些可能会影响现有应用程序的行为[^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值