月度存档: 4 月 2021

mysql报错:Column count of mysql.proc is wrong. Expected 21, found 20

今天尝试将一个数据库从本地使用navicat工具同步到服务器时,收到mysql的报错:
Column count of mysql.proc is wrong. Expected 21, found 20

解决方案:
mysql_upgrade -u root -p

MySQL查看数据库表容量大小

原文链接:https://blog.csdn.net/fdipzone/article/details/80144166
4.查看指定数据库各表容量大小
例:查看mysql库各表容量大小
select table_schema as 'dbname',table_name as 'tname',table_rows as 'recordnum',truncate(data_length/1024/1024, 2) as 'size(MB)',truncate(index_length/1024/1024, 2) as 'indexsize(MB)' from information_schema.tables where table_schema='dbname' order by data_length desc, index_length desc;

3.查看指定数据库容量大小
例:查看mysql库容量大小
select table_schema as 'dbname', sum(table_rows) as 'recordnum', sum(truncate(data_length/1024/1024, 2)) as 'dbsize(MB)', sum(truncate(index_length/1024/1024, 2)) as 'indexsize(MB)' from information_schema.tables where table_schema='dbname';

发现一个宝藏

为信仰而赞👍
http://www.11ria.com/
http://annie2x.com/

mariadb密码忘记的解决方案

修改/opt/lampp/etc/my.cnf
[mysqld]下面添加这行,就可以跳过密码验证进入mysql数据库,修改好密码后,记得改回来即可
skip-grant-tables

vim /opt/lampp/phpmyadmin/config.inc.php 修改密码可以让phpmyadmin网页版可以访问

xampp的mariadb允许远程连接的设置

原文参考 https://www.codenong.com/cs106978723/
这里摘录重要的几点:

1.创建新用户

create user '新用户名'@'%' identified by '新密码';
给予新用户所有权(不推荐)
grant all privileges on *.* to '新用户'@'%' identified by '密码';
刷新权限
flush privileges;
退出,并重启XAMPP服务
exit
/opt/lampp/lampp restart

2.配置3306端口监听

xampp默认使用socket进行连接,而不监听3306端口,故外部无法通过Navicat premium进行远程管理数据库。我们要做的就是开启这个监听端口。

但是,在某些主机上如果你找不到如下文件内的skip-networking,或者找到却已经被注释掉了,那就暂时不用理这一步。

vim /opt/lampp/etc/my.cn
找到skip-networking(如图的52行)并注释掉,重启XAMPP服务

3.navicat用新用户来远程链接即可

ps:

设置MariaDB的命令软连接

目的:为了解决无法在命令行直接使用mysql -u root -p等问题。

命令:ln -s /opt/lampp/bin/mysql /usr/bin

设置root用户的密码

命令步骤:

sudo mysql -u root -p —— 无需密码

use mysql

update mysql.user set authentication_string = password(‘新密码’), plugin = ‘mysql_native_password’ where user = ‘root’ and host = ‘localhost’;