centos 安装mysql8.0.16

清除自带的mariadb

> rpm -qa|grep mariadb

mariadb-libs-5.5.44-2.el7.centos.x86_64

> rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

下载并解压缩 mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

> tar zvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

> ls -l

-rw-r--r--. 1 root root 607068160 6月 24 10:12 mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
-rw-r--r--. 1 7155 31415 33432660 5月 3 12:38 mysql-community-client-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 588520 5月 3 12:38 mysql-community-common-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 5712552 5月 3 12:38 mysql-community-devel-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 24493344 5月 3 12:38 mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 3127296 5月 3 12:38 mysql-community-libs-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2177156 5月 3 12:38 mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 422672748 5月 3 12:39 mysql-community-server-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 114848996 5月 3 12:40 mysql-community-test-8.0.16-2.el7.x86_64.rpm

开始依次安装:

> rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm

> rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm

> rpm -ivh mysql-community-devel-8.0.16-2.el7.x86_64.rpm

> rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm

> rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm

 如果提示依赖其它一些包,根据提示,挨个安装就行了。例如:

warning: mysql-community-server-8.0.16-2.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
/usr/bin/perl is needed by mysql-community-server-8.0.16-2.el7.x86_64
net-tools is needed by mysql-community-server-8.0.16-2.el7.x86_64
perl(Getopt::Long) is needed by mysql-community-server-8.0.16-2.el7.x86_64
perl(strict) is needed by mysql-community-server-8.0.16-2.el7.x86_64

不重要的警告可以忽略,强制安装: --nodeps --force

启动mysql

> service mysqld start
Redirecting to /bin/systemctl start mysqld.service

修改默认的root密码。

可以在日志文件中找到初始密码:

> grep 'temporary password' /var/log/mysqld.log

2019-06-24T02:32:21.735405Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ts?7L9#reubW

登录mysql

mysql -h127.0.0.1 -uroot -pts?7L9#reubW
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 10
Server version: 8.0.16

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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> 

修改root密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx';

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;FLUSH PRIVILEGES;

允许从其它主机访问:

mysql> update mysql.user set host='%' where user ='root';

修改密码规则:

mysql> update mysql.user set plugin='mysql_native_password', authentication_string='' where user='root';
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxx';

修改配置文件:/etc/my.conf

[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

character-set-server=utf8
default-time-zone='+08:00'

wait_timeout=31536000
interactive_timeout=31536000
max_connections=4000

[mysql]

default-character-set=utf8

重启服务

> service mysqld restart

原文地址:https://www.cnblogs.com/lavezhang/p/11076078.html