麒麟ARM64位下安装mysql-community8.0出现Table 'mysql.user'和’mysql.plugin‘ not exist问题,如何解决呢
时间: 2023-11-22 11:56:39 浏览: 36
出现这种情况可能是因为在安装或者升级mysql的时候,没有正确地执行了相关的SQL语句,导致必要的系统表没有创建成功。你可以尝试以下操作来解决问题:
1. 确认mysql服务是否运行,如果没有运行需要启动mysql服务;
2. 进入mysql控制台,检查是否存在mysql.user和mysql.plugin表:
```
mysql> show tables;
```
3. 如果不存在,尝试手动执行以下SQL语句:
```
mysql> use mysql;
mysql> source /path/to/mysql/share/your-mysql-version/mysql_system_tables.sql;
```
其中/path/to/mysql为mysql安装目录,your-mysql-version为mysql的版本号。
4. 重新启动mysql服务,查看是否正常运行。
如果以上方法无法解决问题,可能需要重新安装mysql或者升级到更高的版本。
相关问题
麒麟ARM64位下安装mysql-community8.0后,初始化后重启mysqld服务出现Table 'mysql.user'和’mysql.plugin‘ not exist问题,如何解决呢
这个问题可能是由于MySQL安装不完整或者初始化错误导致的。你可以尝试以下步骤来解决这个问题:
1. 确定MySQL是否已正确安装。你可以通过运行以下命令来检查:
```
which mysql
```
如果MySQL已正确安装,它将返回MySQL二进制文件的路径。
2. 如果MySQL已正确安装,请尝试重新初始化MySQL:
```
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
```
这将重新初始化MySQL并创建必要的系统表。
3. 如果重新初始化MySQL仍然无法解决问题,请尝试卸载并重新安装MySQL:
```
sudo yum remove mysql-community-server
sudo yum install mysql-community-server
```
安装后,使用以下命令启动MySQL服务并重新初始化:
```
sudo systemctl start mysqld
sudo mysql_secure_installation
```
这将启动MySQL服务并要求你设置root用户的密码和其他安全设置。
希望这些步骤可以帮助你解决问题。
mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法
MySQL中的mysql.plugin表是用来存储安装的插件信息的,如果该表不存在,可能会导致一些插件无法正常工作。出现该错误的解决方法如下:
1.检查mysql.plugin表是否存在
在MySQL中执行以下命令:
```
USE mysql;
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='mysql' AND table_name='plugin';
```
如果结果为0,则表示该表不存在。
2.创建mysql.plugin表
在MySQL中执行以下命令:
```
USE mysql;
CREATE TABLE plugin (
`name` varchar(64) COLLATE utf8mb4_bin NOT NULL,
`dl` varchar(128) COLLATE utf8mb4_bin NOT NULL,
`active` varchar(3) COLLATE utf8mb4_bin NOT NULL DEFAULT 'NO',
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='MySQL plugins';
```
执行成功后,重新启动MySQL服务即可。
3.恢复mysql.plugin表
如果上述方法无法解决问题,可以尝试从备份文件中恢复mysql.plugin表。
在MySQL中执行以下命令:
```
USE mysql;
SOURCE /path/to/mysql/backup/directory/mysql_system_tables.sql;
```
其中,/path/to/mysql/backup/directory/是你MySQL备份文件所在的路径。
执行成功后,重新启动MySQL服务即可。