使用的是二进制安装,对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)