服务器搬迁(三)—mysql安装配置

本篇主要讲下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=1systemctl restart mysqld,居然可以了!

然后大家注意此时数据库是初始化的状态,数据库的登录密码要按上面的步骤重新修改,数据重新导入。

然后重新运行jar包后,可以了!没报错了!

设置开机启动

chkconfig --list 看下当前启动项。

systemctl enable mysqld.service

总结

没什么好说的,经历了就知道了,遇到问题不要放弃,细心点,耐心点,总会找到答案的。