Centos7 安装mysql-8.0.13(rpm)

说明

 1.yum安装方式下载太慢,而且卸载重装会再次下载,费时;故推荐rpm安装。
 2.系统版本:centos7.9

关闭SELinux(重要,阿里云等服务器默认关闭,建议先检查)

vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效,reboot命令。

卸载mariadb(centos7自带)

rpm -qa | grep mariadb #查找已经安装mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps #参数名称必须和上面查出的名称一致

获取安装包

可以本地上传,也可以用国内镜像下载(此处给出网易和清华镜像),比mysql官网快很多。不同版本需修改地址中文件名称。

mysql8
wget http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
mysql5.7
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

解压安装包(上面直接下载mysql合集,也可以按需分别下载每个rpm包)

tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar 

安装rpm包(common、libs、client、server为必须)

rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-8.0.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-embedded-compat-8.0.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-test-8.0.19-1.el7.x86_64.rpm --nodeps --force

卸载rpm包(如果重新安装可参考)

rpm -e mysql-community-embedded-compat-8.0.19-1.el7.x86_64 --nodeps
rpm -e mysql-community-test-8.0.19-1.el7.x86_64 --nodeps
rpm -e mysql-community-client-8.0.19-1.el7.x86_64 --nodeps
rpm -e mysql-community-devel-8.0.19-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-8.0.19-1.el7.x86_64 --nodeps
rpm -e mysql-community-server-8.0.19-1.el7.x86_64 --nodeps
rpm -e mysql-community-common-8.0.19-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-compat-8.0.19-1.el7.x86_64 --nodeps
初始化数据库
mysqld --initialize --console --lower-case-table-names=1

特别注意:lower-case-table-names默认是0,此时activiti的表名称全部是大写,会导致数据库存在两张表act_evt_log和ACT_EVT_LOG,程序报错。
详细解释:https://www.cnblogs.com/mydriverc/p/8296647.html

目录授权,否则启动失败
chown -R mysql:mysql /var/lib/mysql/
修改/etc/my.cnf中lower-case-table-names配置(可选)

1.如果初始化数据的时候没有指定lower-case-table-names参数的值,即默认0;则不需要此配置。
2.如果初始化指定了参数,但是my.cnf中没有配置,则启动失败。查看/var/log/mysqld.log会发现此参数初始化值和配置值不同导致。
Different lower_case_table_names settings for server ('0') and data dictionary ('1').

[mysqld]
lower-case-table-names=1
启动服务
启动服务
systemctl start mysqld
查看状态,启动失败查看原因
systemctl status mysqld
开机自启动mysql
systemctl enable mysqld
systemctl daemon-reload

如果mysql服务可以正常启动,恭喜你,mysql安装完成。

查看root临时密码
grep 'temporary password' /var/log/mysqld.log
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 3yMoxa?*nMrl
自动成临时密码:【3yMoxa?*nMrl】
登录mysql(回车后输入上面的临时密码即可登录mysql)

温馨tip:可以将上面查询的密码复制出来,执行命令后复制到剪切板,然后点击鼠标右键直接粘贴,避免输入错误。

mysql -uroot -p
或者
mysql_secure_installation
修改root密码
mysql8
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges;
mysql5.7
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
flush privileges;

注意:mysql8新的密码策略,很多mysql客户端工具不支持,所以用原来的密码策略。切记!

添加远程登录用户(例如:develop)

create user 'develop'@'%' identified with mysql_native_password by '你的密码';
grant all privileges on *.* to 'develop'@'%' with grant option;
flush privileges;

说明:创建一个develop用户,可以在任何客户端登录(root只能在本机),拥有所有数据库权限(并且可以授给其他mysql用户)。

添加项目用户(例如:crm,数据库crm,用户名crm)
create database crm; #创建crm数据库
CREATE USER 'crm'@'%' IDENTIFIED WITH mysql_native_password BY 'crm2018' PASSWORD EXPIRE NEVER;#创建用户并且密码永不过期
GRANT ALL PRIVILEGES ON crm.* TO 'crm'@'%' with grant option;  #授权数据库所有操作给用户
FLUSH PRIVILEGES;

my.cnf参考

[client]
port=3417
[mysqld]
default-authentication-plugin=mysql_native_password
port=3417
max_connections=1000
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
lower-case-table-names=1
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
关闭防火墙

注意:远程访问mysql,关闭防火墙配置,否则无法访问哟。

systemctl stop firewalld.service
systemctl disable firewalld.service

yum安装方式

yum list installed | grep mysql   #查看已安装的mysql
yum -y remove mysql-libs.x86_64  #卸载已经安装
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm   #安装mysql源
yum --enablerepo=mysql80-community install -y mysql-community-server
yum install -y mysql-community-client

安装完成后,初始化等操作和rpm类似。

彻底卸载mysql

rpm -qa|grep mariadb
rpm -qa|grep mysql
find / -name mysql

rm -rf /var/lib/mysql

查看log文件位置

cat /etc/my.cnf

log-error=/var/log/mysqld.log

其他参考资料:
https://blog.csdn.net/weixin_42266606/article/details/80879571
https://www.cnblogs.com/kevingrace/p/10482469.html

posted @ 2018-10-28 17:36  哈特中尉  阅读(3431)  评论(0编辑  收藏  举报