本篇主要讲下mysql安装的步骤,以及在运行过程中遇到的各种坑。
安装
mysql安装主要参考的这篇文章,写的很详细,我这里就把几个关键步骤记录下。
yum直接安装mysql只能安装mysql5的版本,我想安装mysql6版本,需要更新mysql repo,官网下载,直接wget下载即可。
更新yum的repo源:
运行命令rpm -ivh xxx.noarch.rpm
。会在会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo。
更新yum命令:
yum clean all yum makecache
查看mysql yum仓库中mysql版本:
yum repolist all | grep mysql

我这边默认mysql80是启用的,如果发现不是启用的,可以用如下命令来开启和禁用:
yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community
开始安装:
yum install mysql-community-server
开启mysql服务:
systemctl start mysqld.service
mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中。
cat /var/log/mysqld.log | grep password
使用初始密码登录mysql:
mysql -u root -p
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mypassword';
执行完上面那句话后,可能会报错:mysql8 Your password does not satisfy the current policy requirements。因为mysql8对密码设置有要求,第一位大写就好了比如Abc123###。
mysql配置文件位于/etc/my.cnf
。配置文件很简单,我基本没做什么修改。
至此,mysql安装完毕。
数据库恢复
第一篇介绍了数据库的备份,这里简单的讲下数据库恢复,很简单,也是用的mysqldump命令。
首先进入mysql后创建数据库,然后再导入数据。
mysql -u root -p create database mydb; quit mysql -u root -p -D mydb < /home/mydb.sql
mysql -u root -p -D mydb < /home/bg_blog.sql
运行springboot
然后我把打包好的jar包传到服务器上,运行nohup jar -jar xxx.jar &
来运行服务,没错,报错了,tail -1000f nohup.out
看到报错信息:java.sql.SQLSyntaxErrorException: Table ‘mydb.XXXX’ doesn’t exist。意思就是找不到表,奇了怪了,查看了很多遍mysql,数据库在的啊,表也在的啊。网上查询后说是要修改lower_case_table_names
值。

当然我这里改过了,默认是0。然后就按网上说的修改,死活也改不了。
修改了/etc/my.cnf 文件,新增lower_case_table_names=1:

然后按网上说的:mysqld --initialize --user=mysql --lower-case-table-names=1
然后systemctl restart mysqld
.
接着又是新的错误:Different lower_case_table_names settings for server (‘1’) and data dictionary (‘0’).。无奈啊,马上要凌晨1点了,脑袋嗡嗡的,差点就准备把mysql卸载重装了。后来发现了这篇博客,如醍醐灌顶啊!

我清空了/var/lib/mysql文件夹,然后重新执行:mysqld --initialize --user=mysql --lower-case-table-names=1
和 systemctl restart mysqld
,居然可以了!
然后大家注意此时数据库是初始化的状态,数据库的登录密码要按上面的步骤重新修改,数据重新导入。
然后重新运行jar包后,可以了!没报错了!
设置开机启动
chkconfig --list
看下当前启动项。
systemctl enable mysqld.service
总结
没什么好说的,经历了就知道了,遇到问题不要放弃,细心点,耐心点,总会找到答案的。