CentOS安装MySQL
示例环境:
CentOS7
MySQL5.7.27
-------------------------------------------
准备工作:
下载安装tar包
下载页:https://dev.mysql.com/downloads/mysql/,目前(2019/09/07)默认下载的是MySQL Community Server 8.0.17,需要下载历史版本可以点击页面【Looking for previous GA versions?】进行选择。
然后页面下面就会有可下载的各种安装文件,选择第一个:
下载以后将下载的安装包copy到centos里,也可以直接使用命令,将文件下载到centos里。
解压tar文件(示例的安装文件在/usr/mysql路径下)
进入路径
cd /usr/mysql
使用以下命令解压tar文件(文件名依照自己下载的安装文件文件名)
tar -zvx mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
查看解压后的文件夹,如下
准备工作OK
安装mysql:
因为有的系统会预先安装mysql,通常预先安装的mysql版本比较低,但预先安装的mysql可能会影响到高版本的安装,事先需要清除预先的mysql。
检查是否已安装mysql
rpm -qa|grep mysql
如果没有输出,说明没有安装的mysql,跳过下一步,直接正式安装,否则,就需要清除
rpm -ev mysql-community-devel-5.7.27-1.el7.x86_64
该示例语句中的服务名需要依照上述检查语句的输出结果,如果有多个需要依次清理
正式安装
依次执行如下语句(还是文件名依照自己的文件名,只是注意对应几个关键字common、libs、client、server,且顺序不能改变)
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
PS:如果这一步出现冲突导致的错误,需要在上面的语句后面加上 --force --nodeps即可
上述操作成功以后,基本上就安装成功了,使用下面的语句启动mysql
service mysqld start
mysql初始化设置:
成功安装后的mysql在第一次登录的时候需要使用随机密码登录,在使用随机密码登录进去后需要修改密码
随机密码的获取语句
grep 'temporary password' /var/log/mysqld.log
如下的输出就是随机密码
现在就可以登录mysql了
mysql -u root -p
上述这样的提示就可以输入上面查出来的随机密码了(Linux输入密码是不会有光标移动或者******的占位符的,不要怀疑自己的键盘,输完密码回车就好了)
修改密码
第一次进入mysql后,首先需要修改密码,不然无法做其他的操作,修改密码的语句如下
SET PASSWORD=password('123456');
当然不能修改这样简单的密码,会报错(ERROR 1819 (HY000): Your password does not satisfy the current policy requirements),mysql的策略规定,需要大写字母、小写字母、数字和特殊字符的组合
修改成功以后,让更改生效就好了
FLUSH PRIVILEGES;
至此,mysql就 装好了
--------------------------------------------------------
话外:如果mysql需要在其他IP上访问报不能访问的错误,还需要进一步的操作,执行下面的sql
user mysql;
select host from user where user='root';
可以看出,mysql的root账号默认只能在localhost上访问,其他的IP是不行的,如果需要访问,有两种方法,新建用户,配置新用户允许登录的IP;另一种,将root账号的限制放开,两种配置方法大致相似
现在只示范root账号放开IP范围这一种,使用通配符【%】通配所有的IP
update user set host = '%' where user='root';
flush privileges;
现在再使用上面查询语句查询可以看出,修改已经生效
这样,mysql就可以再任何主机被访问了(前提是网路要通)