mysql数据库ISSUES-连载中

/ mysql数据库 / 没有评论 / 113浏览

mysq8.0版本各类问题

mysql初始化密码

在mysql 数据初始化有两种形式

mysqld --initialize --console

mysqld --initialize-insecure --console

第一种,会在log文件中生成初始化的随机密码,第二种方式不会生成密码。如果采用第一种方式,得到log中密码后,需要在链接服务后,修改密码,而第二种方式,官方文档说的是 采用

mysql -u root --skip-password

连接服务后,在手动修改密码。 但是,这种方式我没有实验通过。 我是这样修改密码的

mysql.server start --skip-grant-tables

mysql -uroot;

flush PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

修改密码成功后,在正常启动数据库就可以了。

以上是我遇到的情况,每个人遇到的问题很多种,所以需要自己仔细阅读下官方文档。 https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

InnoDB: Cannot allocate memory for the buffer pool

启动mysql时出现上面错误是由于swap分区不足导致的。需要手动添加swap分区

sudo dd if=/dev/zero of=/root/swapfile bs=1m count=1024  #dd 命令是复制命令,将/dev/zero内容复制1m*1024到/root/swapfile中。其中dev/zero是linux的0空间,就是啥都没有


sudo mkswap /root/swapfile #制作交换区

sudo swapon /root/swapfile #启动交换区