下载mysql rpm bundle包
https://www.mysql.com/downloads/ => MySQL Community (GPL) Downloads => MySQL Community Server
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
解压 rpm包
tar xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
建议查看并卸载mariadb
# 查找mariadb
rpm -qa | grep mariadb
# 卸载mariadb
rpm -e --nodeps mariadb-libs-*
安装mysql
rpm -ivh mysql-community-common--8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins--8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs--8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client--8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files--8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server--8.0.31-1.el7.x86_64.rpm
初始化并查看账户密码
# 初始化mysql密码
mysqld --initialize --console
# 赋权限
chown -R mysql:mysql /var/lib/mysql/
# 启动mysql
systemctl start mysqld
# 设置开机启动mysql
systemctl enable mysqld
# 查看密码
cat /var/log/mysqld.log | grep localhost
# 2023-01-07T09:15:05.098165Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: +;k_Ck#C)4Cd
# root密码为:+;k_Ck#C)4Cd
登录mysql
mysql -uroot -p
报错解决
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
报错内容
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决方法
# 修改密码即可
mysql> ALTER USER USER() IDENTIFIED BY 'Admin2022!';
libaio.so.1()(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
报错内容
[root]# rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm
warning: mysql-community-server-8.0.32-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.32-1.el7.x86_64
解决方法
yum install libaio
修改mysql默认端口
修改 /etc/my.cnf 配置文件
[mysqld]
port = 3307
然后重启mysql即可
systemctl restart mysqld
开启root账号远程访问
mysql> update user set host='%' where user='root';
mysql> grant all privileges on *.* to root@'%';