centos安装mysql8.0.12遇到的问题与解决办法

使用的是二进制安装,对linux不是很熟悉,rpm安装目录不能指定,安装后东西去了哪还要通过命令查找出来,使用源文件编译安装又太慢。
有些教程很扯蛋,照着教程一步步走也有错
参考这篇文章写的基本不会有错http://www.cnblogs.com/ruolin/p/9279944.html
下面是自己在安装过程遇到的问题,纪录下来方便自己和他人翻看

  • 初始化错误:
[root@VM_0_13_centos mysql]# ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
-bash: ./scripts/mysql_install_db: No such file or directory

如果你的mysql安装包下面没有mysql_install_db这个文件,改用mysqld –initialize

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
  • 查看登录密码

    以前的版本初始是没密码的,直接空密码登录。但是5.7以后,初始化过程中会为root用户生成一个随机的临时密码,必须用这个临时密码登录后进行修改密码。
    在前面设置的datadir目录下的日志文件中,我这里是/usr/local/mysql/data/error.log中纪录了这个密码r=(+DhFOe0eS

2018-08-05T06:11:31.415433Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: r=(+DhFOe0eS
  • 修改密码

初次登录后,执行语句会报错

mysql> select 1;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

提示必须修改密码后才能进行其他操作。
在以前的版本中,修改密码的语法是:

SET PASSWORD = PASSWORD('123456');

但是8.0.12版本下执行会报语法错误:

mysql> SET PASSWORD = PASSWORD('123456');
ERROR 1064 (42000): You have an error in your SQL syntax;
 check the manual that corresponds to your MySQL server version for the right syntax to use near 'PASSWORD('123456')'

这个很坑爹,网上搜全是旧语法,无奈之下自己试了出来

mysql> SET PASSWORD = '123456';
Query OK, 0 rows affected (0.01 sec)

你可能感兴趣的:(centos安装mysql8.0.12遇到的问题与解决办法)