1. 卸载mariadb
因centos7默认安装了mariadb, 会造成依赖冲突,按下列方式进行卸载:
[root@localhost ~]#
[root@localhost ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost ~]#
[root@localhost ~]# rpm -e mariadb-libs --nodeps
[root@localhost ~]#
[root@localhost ~]# rpm -qa | grep mariadb
[root@localhost ~]#
[root@localhost ~]#
2. 下载并解压
[root@localhost /]# cd /var/local
[root@localhost local]#
[root@localhost local]# wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
[root@localhost local]# mkdir mysql-8.0.31
[root@localhost local]#
[root@localhost local]# tar -xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.31
mysql-community-client-8.0.31-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
mysql-community-common-8.0.31-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.31-1.el7.x86_64.rpm
mysql-community-devel-8.0.31-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.31-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
mysql-community-server-8.0.31-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.31-1.el7.x86_64.rpm
mysql-community-test-8.0.31-1.el7.x86_64.rpm
[root@localhost local]#
3. 安装
[root@localhost local]# cd mysql-8.0.31
[root@localhost mysql-8.0.31]#
[root@localhost mysql-8.0.31]# yum install -y perl.x86_64
[root@localhost mysql-8.0.31]# yum install net-tools
[root@localhost mysql-8.0.31]# yum install -y perl-Module-Install.noarch
[root@localhost mysql-8.0.31]# rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
[root@localhost mysql-8.0.31]# rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
[root@localhost mysql-8.0.31]# rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
[root@localhost mysql-8.0.31]# rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm
[root@localhost mysql-8.0.31]# rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
[root@localhost mysql-8.0.31]# rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm
[root@localhost mysql-8.0.31]#
4. 修改/etc/my.cnf
log_timestamps = SYSTEM
#忽略大小写
lower-case-table-names=1
5. 初始化
mysqld --initialize --console
#忽略大小写
#mysqld --initialize --user=mysql --lower-case-table-names=1
6. 授权
chown -R mysql:mysql /var/lib/mysql/
7. 启动并查看状态
[root@localhost mysql-8.0.31]# systemctl start mysqld
[root@localhost mysql-8.0.31]#
[root@localhost mysql-8.0.31]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2022-11-18 06:59:53 CST; 1s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 1595 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 1668 (mysqld)
Status: "Server is operational"
CGroup: /system.slice/mysqld.service
└─1668 /usr/sbin/mysqld
11月 18 06:59:48 single systemd[1]: Starting MySQL Server...
11月 18 06:59:53 single systemd[1]: Started MySQL Server.
[root@localhost mysql-8.0.31]#
8. 首次登录
[root@localhost mysql-8.0.31]# cat /var/log/mysqld.log | grep password
2022-11-18T06:59:49.967603+08:00 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: d:fAhy+G)8uw
[root@localhost mysql-8.0.31]#
[root@localhost mysql-8.0.31]# mysql -u root -pd:fAhy+G\)8uw
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.31
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
9. 修改远程访问权限以及密码
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user, host from user where user='root';
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.00 sec)
mysql> update user set host ='%' where user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
mysql> grant all privileges on *.* to 'root'@'%';
mysql> flush privileges;
10. 开放端口
mysql> exit
[root@localhost mysql-8.0.31]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost mysql-8.0.31]# success
[root@localhost mysql-8.0.31]# firewall-cmd --reload
[root@localhost mysql-8.0.31]# systemctl restart firewalld.service
现在就可以连接啦 小伙伴们记得关注哦 笔芯