笔者这几天准备将自己的项目部署到服务器上,首先当然是安装Tomcat和数据库。Tom猫已经安装成功了,但是Mysql却有点让人头痛,网上类似的教程很多,但是亲自实践时却总会出现这样那样的错误。下面的方法笔者亲自通过测试,并且在发生错误的时候成功解决。
首先,请按照该教程进行安装操作:
CentOS7 64位下MySQL5.7安装与配置(YUM)
前面的操作都很自然 ,笔者在这一步遇到了问题:
3、启动MySQL服务
shell> systemctl start mysqld
查看MySQL的启动状态shell> systemctl status mysqld ● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled;
vendor preset: disabled) Active: active (running) since 五
2016-06-24 04:37:37 CST; 35min ago Main PID: 2888 (mysqld) CGroup:
/system.slice/mysqld.service
└─2888 /usr/sbin/mysqld –daemonize –pid-file=/var/run/mysqld/mysqld.pid6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL
Server… 6月 24 04:37:37 localhost.localdomain systemd[1]: Started
MySQL Server.
在这里,笔者的mysql无法启动。此时,如果你和我的问题一致,那么,可以参考这个:
CentOS 7下MySQL服务启动失败的快速解决方法
简单来说,你可以在shell中执行以下命令:
[root@spark01 ~]# mkdir -p /var/run/mysqld/
[root@spark01 ~]# ls -ld /var/run/mysqld/
drwxr-xr-x 2 root root 40 Jan 20 18:28 /var/run/mysqld/
[root@spark01 ~]# chown mysql.mysql /var/run/mysqld
这时,你的mysql将可以启动,接着到这一步:
5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:shell> grep ‘temporary password’ /var/log/mysqld.log root默认密码
shell> mysql -uroot -p mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED
BY ‘MyNewPass4!’; 或者mysql> set password for ‘root’@’localhost’=password(‘MyNewPass4!’)
发现mysqld.log 这个文件是空的!并没有临时密码提供给我们,现在请参考这个:
Mysql5.7的初始密码更改
具体操作就是:
一、停止mysqld服务
二、编辑配置文件
有的Linux版本是/etc/my.cnf
有的Linux版本是/etc/mysql/mysql.conf.d/mysqld.cnf
在配置文件中添加配置项,即在 [mysqld]下面添加本行
skip-grant-tables
重启mysql,直接在shell中 mysql 无需密码登录,然后use mysql;
update mysql.user set authentication_string=password(‘123456’) where User=’root’ and Host=’localhost’;
flush privileges;
当然你的密码需要满足规定:
MySQL 设置的密码中必须至少包含一个大写字母、一个小写字母、一个特殊符号、一个数字,
密码长度至少为8个字符
接着,你可以使用该密码登录了,如果在初次登录后,出现:
You must reset your password using ALTER USER statement before executing this statement.
此时需要你重新设置一次密码,命令如下:
ALTER USER ‘root’@’localhost’IDENTIFIED
BY ‘your password’
完成~