天天看點

Centos7下MySQL8徹底解除安裝及安裝

首先更新yum yum update#

檢視已安裝的MySQL

[root@ceshi ~]# rpm -qa | grep -i mysql
mysql-community-common-8.0.26-1.el7.x86_64
mysql80-community-release-el7-1.noarch
mysql-community-libs-8.0.26-1.el7.x86_64
mysql-community-devel-8.0.26-1.el7.x86_64
mysql-community-client-8.0.26-1.el7.x86_64
mysql-community-server-8.0.26-1.el7.x86_64
mysql-community-client-plugins-8.0.26-1.el7.x86_64           

解除安裝

[root@ceshi ~]# yum remove -y mysql*
Centos7下MySQL8徹底解除安裝及安裝

删除剩餘的MySQL相關檔案和檔案夾

[root@ceshi ~]# find / -name mysql
Centos7下MySQL8徹底解除安裝及安裝

安裝mysql8.0

下載下傳mysql8.0.20

[root@ceshi ~]# wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.20-el7-x86_64.tar.gz

解壓mysql包

[root@ceshi src]# tar -xvf mysql-8.0.26-el7-x86_64.tar.gz

Centos7下MySQL8徹底解除安裝及安裝

建立安裝目錄

[root@ceshi src]# mkdir -p /usr/local/mysql

[root@ceshi src]# mv mysql-8.0.26-el7-x86_64/* /usr/local/mysql/

建立mysql使用者群組

[root@ceshi src]# groupadd mysql

[root@ceshi src]# useradd -r -g mysql -s /sbin/nologin mysql

建立資料目錄并授權

[root@ceshi src]# cd /usr/local/mysql/

[root@ceshi mysql]# mkdir data logs

[root@ceshi mysql]# chown -R mysql:mysql /usr/local/mysql/

在etc下建立配置檔案my.cnf,加入下面配置

[root@ceshi mysql]# touch /etc/my.cnf

[root@ceshi mysql]# ls /etc/my.cnf

/etc/my.cnf

[root@ceshi mysql]# vim /etc/my.cnf

[mysqld]
#設定mysql用戶端連接配接服務端時預設使用的端口
port=3306

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/logs/mysql.log
socket=/tmp/mysql.sock

event_scheduler=ON

slow_query_log = ON
slow_query_log_file = /usr/local/mysql/logs/mysql-slow.log
long_query_time = 1
innodb_buffer_pool_size = 6G

default-authentication-plugin=mysql_native_password
server-id=10
log-bin=/usr/local/mysql/logs/mysql-bin
max_connect_errors=1000

log-error=/usr/local/mysql/logs/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid           
Centos7下MySQL8徹底解除安裝及安裝

安裝資料庫,生成初始密碼并檢視

[root@ceshi mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

[root@ceshi mysql]# cat logs/mysql.log | grep password           
Centos7下MySQL8徹底解除安裝及安裝

配置mysql服務

[root@ceshi mysql]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 65536
LimitNPROC = 65536           
Centos7下MySQL8徹底解除安裝及安裝

重新加載

[root@ceshi mysql]# systemctl daemon-reload

軟連結

[root@ceshi mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin/

[root@ceshi mysql]# ln -s /usr/local/mysql/bin/mysqldump /usr/bin/

啟動服務并設定開機自啟

[root@ceshi mysql]# systemctl stop mysqld

[root@ceshi mysql]# systemctl start mysqld

[root@ceshi mysql]# systemctl enable mysqld

檢視運作狀态

[root@ceshi mysql]# ps -ef | grep mysqld
Centos7下MySQL8徹底解除安裝及安裝
[root@ceshi mysql]# systemctl status mysqld
Centos7下MySQL8徹底解除安裝及安裝

修改root密碼,并設定遠端登入

[root@ceshi mysql]# mysql -uroot -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
Query OK, 0 rows affected (0.04 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

mysql> update mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)