MySQL8.0安装踩坑记录

环境:ECS云服务器 Alibaba Cloud Linux 3.2104 64位

1、下载MySQL

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

2、解压文件

tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

3、移动到/usr/local目录下

移动并且重命名

mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql

4、创建data目录

mkdir -p /usr/local/mysql/data

5、添加用户和组

# 用户组 $ groupadd mysql # 用户 (用户名/密码) $ useradd -g mysql mysql #授权 chown -R mysql.mysql /usr/local/mysql/ (重要)

6、初始化

/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize

执行错误:

/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

原因:需要安装libaio

yum install libaio

安装之后再次执行初始化

”lsf_ETFE;36q“为生成的临时密码

7、将MySQL添加到服务

$ chmod +x /etc/init.d/mysql

$ chkconfig --add mysql # 检查服务是否生效

$ chkconfig --list mysql

MySQL8.0安装踩坑记录_第1张图片

8、启动服务

service mysql start

.The server quit without updating PID file (/usr/local/mysq[FAILED]ysql.pid)

啪啪打脸,报错了,百度没解决。看了下日志,提示的很明显,我的配置文件配置有问题(因为是我复制过来的参数),所以报错一定要看日志,看日志。

修改配置文件之后,再次启动

9、登录

mysql -uroot -p

别着急,原因是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

# ln -s /usr/local/mysql/bin/mysql /usr/bin

再次登录,默认没有密码,回车登录成功?开心太早(其实不然,这是因为我安装的有问题)

MySQL8.0安装踩坑记录_第2张图片

10、设置root密码

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

报错:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

执行:flush privileges;

报错,心累,哎...没有表?

MySQL8.0安装踩坑记录_第3张图片

只有两个表,肯定有问题,看日志,看日志

执行mysql_upgrade,没用,提示还是找不到user表,可能user表是必须的。

11、那怎么办呢?

到data/mysql下看看,什么也没有,肯定是安装哪有问题了,删除data下所有文件,重新初始化。

$ rm -rf /usr/local/mysql/data/*

$ /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize $ service mysql start

很顺利,启动成功

12、重新登录

mysql -uroot -p

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

默认没有密码,需要重新设置密码

#关闭服务

$ service mysql stop

#安全模式登录

$ ./mysqld_safe --skip-grant-tables

#登录mysql

$ ./mysql -u root

查看mysql下的表

MySQL8.0安装踩坑记录_第4张图片

这回可算对了,修改密码

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

13、重启,登录,一切正常

MySQL8.0安装踩坑记录_第5张图片

关注公众号,领取编程学习资源,一起成长!

MySQL8.0安装踩坑记录_第6张图片

你可能感兴趣的:(mysql,数据库,linux)