- rpm package:是某个特定的包,比如server,client,shared lib等
- rpm bundle:是该版本所有包的集合
- Compressed TAR Archive,是压缩包,需要手动安装。
- 下载MySQL安装包 Server version: 5.7.28 MySQL Community Server (GPL) Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle (mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar)
- 使用包管理工具 RPM 安装
yum与rpm的区别:rpm适用于所有环境,而yum要搭建本地yum源才可以使用!yum是上层管理工具,自动解决依赖性,而rpm是底层管理工具。
查看Linux版本
lsb_release -a 查看系统版本
cat /etc/os-release
getconf LONG_BIT 查看系统位数
开始安装
--------------------------------------------------
一. 查看并卸载已有的mysql
-
查看mysql依赖
rpm -qa | grep mysql
-
删除mysql依赖
rpm -e --nodeps `rpm -qa | grep mysql`
-
centos7主机一般都会自带mariadb,需要删除
rpm -qa | grep mariadb
rpm -ev mariadb-libs-5.5.56-2.el7.x86_64
报错:
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
看到的是mariadb的组件被postfix依赖了,需要先卸载postfix
rpm -qa | grep postfix
rpm -ev postfix-2.10.1-6.el7.x86_64
然后再卸载mariadb
rpm -ev mariadb-libs-5.5.56-2.el7.x86_64
成功卸载
二. 上传解压
-
将下载的mysql文件上传到服务器并解压
cp -ai /root/Downloads/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar /usr/local/
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
三. 安装
需要按顺序安装,因为是有前后依赖的。安装命令为 rpm -ivh
-
安装common
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
2. 安装libs
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
3. 安装client
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
4. 安装server
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
5. 安装devel
rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm
四. 启动使用
1. 启动
service mysqld start
-
查找初始化的密码
MySQL首次启动后会在 /var/log/mysqld.log中生成一个随机密码,默认情况需要修改密码后才能使用。
grep password /var/log/mysqld.log
A temporary password is generated for root@localhost: yu4<6/XuZJ!y
3. 修改密码
登录客户端
mysql -u root -p
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yinhai_JY20HB00600';
mysql默认的密码规则必须包含特殊字符、大写字母、小写字母、数字、一定长度。如果要设置弱密码:
set global validate_password_policy=0;
set global validate_password_length=4;
-
设置权限
为了能远程连接数据库,需要设置权限
--任何主机可连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yinhai_JY20HB00600' WITH GRANT OPTION;
--或仅指定主机可连接
GRANT ALL PRIVILEGES ON *.* TO 'xxxx'@'xx.xx.xx.xx' IDENTIFIED BY 'xxxx' WITH GRANT OPTION;
--刷新权限
flush privileges;
修改user表使相应的用户能够从终端连接
use mysql;
update user set host = '%' where user = 'root'; --%表示所有ip,如果只指定某台电脑,则改成相应的ip
如果出现错误:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
不用理会,表示user表已经设置过了。
-
设置MySQL表名不区分大小写
编辑配置文件
vi /etc/my.cnf
在[mysqld]后添加添加[请复制,错了mysql会启动不起来]
lower_case_table_names=1
重启服务
service mysqld stop
service mysqld start
完成安装。且开机会自动启动。
其他一些命令:
# 查看mysql是否启动
service mysqld status
#启动mysql
service mysqld start
# 停止mysql
service mysqld stop
# 重启mysql
service mysqld restart
# 重启Linux主机
sudo shutdown -r now