特别说明 1 2 1.yum安装方式下载太慢,而且卸载重装会再次下载,费时;故推荐rpm安装。 2.系统版本:centos7.9
关闭SELinux(重要,阿里云等服务器默认关闭,建议先检查) 1 2 3 vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效,reboot命令。
卸载mariadb/mysql(centos7自带) 1 2 3 4 5 6 rpm -qa | grep mariadb #查找已经安装mariadb rpm -qa | grep mysql #查找已经安装mysql yum list installed | grep mysql yum -y remove mysql-libs.x86_64 rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps #参数名称必须和上面查出的名称一致
获取安装包 可以本地上传,也可以用国内镜像下载(此处给出网易和清华镜像),比mysql官网快很多。不同版本需修改地址中文件名称。
1 2 3 4 5 6 7 8 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar #mysql8官方下载,注意是el7 centos8/rockyLinux8/AnolisOS8 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.35-1.el8.x86_64.rpm-bundle.tar #注意是el8 #mysql8国内镜像下载(更新不及时) http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
解压安装包(上面直接下载mysql合集,也可以按需分别下载每个rpm包) 1 tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
安装rpm包(common、libs、client、server为必须) centos7(mysql8.0.32)
1 2 3 4 5 6 7 8 rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-devel-8.0.32-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-embedded-compat-8.0.32-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-libs-compat-8.0.32-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-test-8.0.32-1.el7.x86_64.rpm --nodeps --force
centos8/rockyLinux8/AnolisOS8(mysql8.0.35)
1 2 3 4 5 6 7 8 rpm -ivh mysql-community-client-8.0.35-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-common-8.0.35-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-devel-8.0.35-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-embedded-compat-8.0.35-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-libs-8.0.35-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-libs-compat-8.0.35-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-server-8.0.35-1.el8.x86_64.rpm --nodeps --force rpm -ivh mysql-community-test-8.0.35-1.el8.x86_64.rpm --nodeps --force
卸载rpm包(如果重新安装可参考) 1 2 3 4 5 6 7 8 rpm -e mysql-community-embedded-compat-8.0.32-1.el7.x86_64 --nodeps rpm -e mysql-community-test-8.0.32-1.el7.x86_64 --nodeps rpm -e mysql-community-client-8.0.32-1.el7.x86_64 --nodeps rpm -e mysql-community-devel-8.0.32-1.el7.x86_64 --nodeps rpm -e mysql-community-libs-8.0.32-1.el7.x86_64 --nodeps rpm -e mysql-community-server-8.0.32-1.el7.x86_64 --nodeps rpm -e mysql-community-common-8.0.32-1.el7.x86_64 --nodeps rpm -e mysql-community-libs-compat-8.0.32-1.el7.x86_64 --nodeps
安装依赖(否则下一步初始化失败) 1 2 yum -y install libaio yum -y install numactl
初始化数据库 1 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
目录授权,否则启动失败 1 chown -R mysql:mysql /var/lib/mysql/
说明:给操作系统的mysql账号授权/var/lib/mysql/目录,否则mysqld服务无法启动。 默认/etc/my.cnf
中的datadir=/var/lib/mysql
,代表mysql数据存放路径。
更改mysql的数据文件路径(可选) 1、复制/var/lib/mysql
到/var/lib/mysql_new
2、更改/etc/my.cnf
为datadir=/var/lib/mysql_new
3、chown -R mysql:mysql /var/lib/mysql_new/
修改/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').
1 2 [mysqld] lower-case-table-names =1
启动服务(启动失败请看上面步骤) 1 2 3 4 5 6 7 启动服务 systemctl start mysqld 查看状态,启动失败查看原因 systemctl status mysqld 开机自启动mysql systemctl enable mysqld systemctl daemon-reload
如果mysql服务可以正常启动,恭喜你,mysql安装完成。
查看root临时密码 1 grep 'temporary password' /var/log/mysqld.log
1 2 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 3yMoxa?*nMrl 自动成临时密码:3yMoxa?*nMrl
登录mysql(回车后输入上面的临时密码即可登录mysql) 温馨tip:可以将上面查询的密码复制出来,执行命令后复制到剪切板,然后点击鼠标右键直接粘贴,避免输入错误。
1 2 3 mysql -uroot -p 或者 mysql_secure_installation
修改root密码 1 2 3 4 5 6 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) 1 2 3 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) 1 2 3 4 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参考 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [client] port=3417 default-character-set=utf8mb4 [mysqld] default-authentication-plugin=mysql_native_password port=3417 max_connections=1000 character-set-server=utf8mb4 lower-case-table-names=1 #表名大小写不敏感 default-storage-engine=INNODB datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' #解决group by报错
关闭防火墙 注意:远程访问mysql,关闭防火墙配置,否则无法访问哟。
1 2 systemctl stop firewalld.service systemctl disable firewalld.service
yum安装方式 1 2 3 4 5 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 1 2 3 4 5 rpm -qa|grep mariadb rpm -qa|grep mysql find / -name mysql rm -rf /var/lib/mysql
查看log文件位置 cat /etc/my.cnf
1 log-error=/var/log/mysqld.log
其他参考资料:https://blog.csdn.net/weixin_42266606/article/details/80879571 https://www.cnblogs.com/kevingrace/p/10482469.html