CentOS 6 安装 MySQL 8.0.+
一、Linux下MySQL安装(YUM)
1、检查并删除已经安装的MySql
- 检查MariaDB
shell> rpm -qa|grep mariadb
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64
- 删除mariadb
如果不存在(上面检查结果返回空)则跳过步骤
shell> rpm -e --nodeps mariadb-server
shell> rpm -e --nodeps mariadb
shell> rpm -e --nodeps mariadb-libs
其实yum方式安装是可以不用删除mariadb的,安装MySQL会覆盖掉之前已存在的mariadb
- 检查MySQL
shell> rpm -qa|grep mysql
- 删除MySQL
如果不存在(上面检查结果返回空)则跳过步骤
shell> rpm -e --nodeps xxx
或
rpm -e --nodeps `rpm -qa | grep mysql`
2、添加MySQL Yum Repository
从CentOS 7开始,MariaDB成为Yum源中默认的数据库安装包。
也就是说在CentOS 7及以上的系统中使用yum安装MySQL默认安装的会是MariaDB(MySQL的一个分支)。
如果想安装官方MySQL版本,需要使用MySQL提供的Yum源。
- 下载MySQL源
官网地址:https://dev.mysql.com/downloads/repo/yum/
- 查看系统版本:
lsb_release -a 查看系统版本
getconf LONG_BIT 查看系统位数
查看系统版本
cat /etc/redhat-release
- 选择对应的版本进行下载
wget https://repo.mysql.com//mysql80-community-release-el6-3.noarch.rpm
- 安装MySQL源
rpm -ivh mysql80-community-release-el6-3.noarch.rpm
- 检查是否安装成功
执行成功后会在/etc/yum.repos.d/
目录下生成两个repo文件mysql-community.repo
及 mysql-community-source.repo
并且通过yum repolist可以看到mysql相关资源
shell> yum repolist enabled | grep "mysql.*-community.*"
!mysql-connectors-community/x86_64 MySQL Connectors Community 108
!mysql-tools-community/x86_64 MySQL Tools Community 90
!mysql80-community/x86_64 MySQL 8.0 Community Server 113
3、选择MySQL版本
使用MySQL Yum Repository安装MySQL,
默认会选择当前最新的稳定版本,例如通过上面的MySQL源进行安装的话,默安装会选择MySQL 8.0版本,
如果就是想要安装该版本,可以直接跳过此步骤,
如果不是,比如我这里希望安装MySQL5.7版本,就需要“切换一下版本”:
- 查看当前MySQL Yum Repository中所有MySQL版本(每个版本在不同的子仓库中)
shell> yum repolist all | grep mysql
- 切换版本
shell> sudo yum-config-manager --disable mysql80-community
shell> sudo yum-config-manager --enable mysql57-community
除了使用yum-config-manager之外,还可以直接编辑/etc/yum.repos.d/mysql-community.repo
文件
enabled=0禁用
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
enabled=1启用
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
- 检查当前启用的MySQL仓库
shell> yum repolist enabled | grep mysql
如果同时启用了多个仓库,安装时会选择最新版本
4、安装MySQL
shell> sudo yum install mysql-community-server
该命令会安装MySQL服务器 (mysql-community-server) 及其所需的依赖、相关组件,包括mysql-community-client、mysql-community-common、mysql-community-libs等
如果带宽不够,这个步骤时间会比较长,请耐心等待~
或
yum install mysql-server
5、查询是否安装成功
mysqladmin -V
6、启动MySQL
启动前最好
修改/etc/my.cnf
配置文件
vi /etc/my.cnf
添加:
# leeze
port = 3306
character-set-server=utf8
#忘记密码时使用
#skip-grant-tables
#设置协议认证方式
default_authentication_plugin=mysql_native_password
shell> sudo service mysqld start
- 其他命令:
service mysqld status
service mysqld stop
service mysqld restart
7、修改密码
- 初始密码
MySQL第一次启动后会创建超级管理员账号root@localhost,初始密码存储在日志文件中:
shell> sudo grep 'temporary password' /var/log/mysqld.log
- 修改默认密码
shell> mysql -uroot -p
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Cn@12345678';
这里会遇到一个问题
,mysql默认的密码规则必须包含特殊字符、大写字母、小写字母、数字、一定长度
并且对密码要求严格,至少8位,包含大小写等,
密码策略的所有参数
SHOW VARIABLES LIKE 'validate_password%';
show variables like '%validate_password.policy%';
show variables like '%validate_password.length%';
若想设置成123456,则要以下两条命令:
set global validate_password.policy=0; #设置为弱口令
set global validate_password.length=1; #密码最小长度为1
alter user user() identified by '123456';
8、允许root远程访问
#任何主机
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
#指定主机
mysql>GRANT ALL PRIVILEGES ON *.* TO 'xxxx'@’xx.xx.xx.xx’ IDENTIFIED BY 'xxxx' WITH GRANT OPTION;
# 然后刷新权限
mysql>flush privileges;
- 首先查看用户表
select user,host,plugin from user;
发现登录主机是localhost,当然不能登录,把root用户的localhost设置为%,这样任意主机都可以连接。
修改连接权限(%表示所有ip,如果只指定某台电脑,则改成相应的ip)
update user set host='%' where user ='root';
- 更改加密方式
update user set plugin='mysql_native_password' where user ='root';
- 授权远程连接
grant all privileges on *.* to root@'%'
- 执行刷新权限
FLUSH PRIVILEGES;