mysql5.7在windows不能启动的方法及查看数据库大小命令

时间:2022-07-01 23:07:17

1.将mysql目录下的my-default.ini改为my.ini

2.cmd进入mysql的bin目录下

3.执行mysqld --initialize进行初始化(如果mysql目录下已经存在data文件夹会报错,先把data里面的文件拷贝到别处,命令执行完成后再拷回来)

4.安装服务mysqld --install

5.启动服务net start mysql

 

ok了

 

另外注意:mysql5.7会在安装时自动随机生成root密码,修改root密码方法如下:

1、修改 my.ini,在 [mysqld] 小节下添加一行:skip-grant-tables=1

这一行配置让 mysqld 启动时不对密码进行验证

2、重启 mysqld 服务

3、使用 root 用户登录到 mysql:mysql -uroot 

4、切换到mysql数据库 mysql> use mysql,更新 user 表:

update user set authentication_string = password('12345'), password_expired = 'N', password_last_changed = now() where user = 'root';

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

5. mysql>flush privileges; 

6、退出 mysql,编辑 my.ini 文件,删除 skip-grant-tables=1 的内容

7、重启 mysqld 服务,用新密码登录测试一下

 

 

 

要想知道每个数据库的大小的话,步骤如下:

1、进入information_schema 数据库(存放了其他的数据库的信息)

use information_schema;

 

2、查询所有数据的大小:

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;

3、查看指定数据库的大小:

比如查看数据库home的大小

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';

4、查看指定数据库的某个表的大小

比如查看数据库home中 members 表的大小

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';

 

多核线程设置

innodb_thread_concurrency=64
innodb_read_io_threads=4
innodb_write_io_threads=4