主要步骤可以参照该网址:
https://www.cnblogs.com/jxrichar/p/9248480.html
这里记录一下自己遇到的问题
1.在配置 vim /etc/my.cnf 文件的变量 log-error = /usr/local/mysql-5.7.22/data/error.log 时,默认的变量名为 log-err,这里需要手动把原来的变量名修改一下,不然在执行初始化命令 ./bin
/mysqld
--initialize --user=mysql --basedir=
/usr/local/mysql
--datadir=
/usr/local/mysql/data 时,日志中会报错:非法的变量名 log-err
2.mysql的安装目录如 /usr/local/mysql/bin 下有很多命令文件,在执行命令时,在cd到bin目录后,直接运行 mysql 命令语句,会报找不到该命令,正确的方法为 ./mysql (前面加上./),或者在 /usr/bin 目录下建立软连接,如: ln -s /usr/local/mysql-5.7.22/bin/mysqld /usr/bin/mysqld
3.进入mysql修改初始密码:
sudo /etc/init.d/mysql stop #停止mysql服务
sudo mysqld_safe --user=mysql --skip-grant-tables --skip-networking & #通过安全模式启动mysql
sudo mysql -u root mysql #新开一个终端窗口,执行改命令,免密码登录root用户
mysql> use mysql; #切换至mysql的database(注意以分号结束每条语句)
Database changed
mysql> update user set password=password("root") where user="root"; #修改密码报错 ERROR 1054 (42S22): Unknown column 'password' in 'field list' mysql> update mysql.user set authentication_string=password('root') where user='root'; #修改密码成功 Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> flush privileges; #立即生效 Query OK, 0 rows affected (0.00 sec) mysql> quit Bye
4.用root用户执行命令时,提示要修改密码
则修改密码即可 : alter user user() identified by "root";