技术博文 · 2021-06-29 1

centos 7.9 yum 安装mysql 5.7

主节点先检查系统是否自带mysql,如果有需要卸载(最好用yum remove卸载)

rpm -qa |grep mysql
rpm -qa |grep MySQL
rpm -qa |grep mariadb

主节点安装mysql

从MySQL Yum 仓库http://dev.mysql.com/downloads/repo/yum/下载适合电脑版本的rpm包。

rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm

image-20210629142820355

sudo yum install mysql-community-server

如果安装server时候报缺少net-tools的错,则需要先安装下net-tools

yum install net-tools -y

如果安装server时候报缺少libaio.so.1,需要先安装libaio

yum install libaio -y

启动mysql

systemctl start mysqld

查看mysql服务状态

[root@kudu001 ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2021-06-26 23:47:50 CST; 2 days ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 9863 (mysqld)
    Tasks: 91
   Memory: 590.0M
   CGroup: /system.slice/mysqld.service
           └─9863 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

6月 26 23:47:48 kudu001 systemd[1]: Starting MySQL Server...
6月 26 23:47:50 kudu001 systemd[1]: Started MySQL Server.

开启后查看随机密码

cat /var/log/mysqld.log | grep 'password'

登录mysql测试能否正常使用

mysql -uroot -p<随机密码>

修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

FAQ

安装启动的时候启动MySQL的时候提示如下错误:

Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.                                                           [FAILED]

查看日志有如下错误:

安装mysql 出现:Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

Linux下MySQL报错:Can't open the mysql.plugin table. Please run mysql_upgrade to create it

image-20210629145902461

在日志中出现了如下错误:

Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

解决办法:在对应的安装目录(yum安装的直接使用mysql_install_db命令即可)采用下面的语句初始化就可以了:

mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --ldata=/var/lib/mysql

另外一个可能的原因和解决办法,找到mysql的datadir目录

 cd /var/lib/mysql

找到ib_logfile1和lib_logfile2文件,删除这两个文件,或者修改这两个文件名,之后再次启动mysql,就好了。

参考:CentOS7安装最新版的MySQL(5)