先吐槽一下,Linux下软件下载真是太讲究了,MySQL安装一直出错,结果百度了一圈说是安装包下载也是有学问的,结果更换了安装包一路跌跌撞撞最后好歹给装上了,下面跟着一起来吧!
1:找到MySQL下载地址,我这里用的 sohu 的镜像地址 http://mirrors.sohu.com/mysql ,我这里选择MySQL版本是5.7。注意下载文件名带 rpm 的,我们采用 rpm 安装方式,我们可以根据文件大小来筛选,再根据系统版本筛选,我这里是win64位所以下载 mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar ;如果在win上下载,下载完成后上传到服务器上,解压
2:依次执行(几个包有依赖关系,所以执行有先后)下面命令安装# 顺序执行,执行当中可能会报错,一次解决
[root@centos-linux ~]# rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
[root@centos-linux ~]# rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
[root@centos-linux ~]# rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
[root@centos-linux ~]# rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
在安装rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm的时候报错如下:#
[root@linux_node_1 src]# rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.16-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
net-tools is needed by mysql-community-server-5.7.16-1.el7.x86_64
这个报错的意思是需要安装libaio包和net-tools包:可以yum安装一下,安装 libaio-0.3.107-10.el6.x86_64.rpm,下载地址:wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
然后yum安装net-tools 完成之后就可以顺利安装yum install net-tools
到这里MySQL安装完毕,下面将配置密码、权限、远程连接等
-- -------------------------------------------------------------------------------------------------------
3:数据库初始化
为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化# 如果是以 mysql 身份运行,则可以去掉 --user 选项。
mysqld --initialize --user=mysql
另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,
而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。
这里演示使用的 --initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,最后的就是自动生成的密码[root@linux_node_1 src]# cat /var/log/mysqld.log
2016-12-07T04:41:58.028558Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-12-07T04:41:58.315188Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-12-07T04:41:58.355114Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-12-07T04:41:58.418448Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 7cc98831-bc37-11e6-a263-000c29f902dc.
2016-12-07T04:41:58.419935Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-12-07T04:41:58.420558Z 1 [Note] A temporary password is generated for root@localhost: )1r3gi,hjgQa(初始化的密码)
4:启动数据库# 启动/停止
systemctl start/stop mysqld.service
# 查看状态命令
systemctl status mysqld.service
5:登录#
mysql -uroot –p 会提示密码过期 需要更改密码
# 更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
6:修改远程连接权限#
grant all on *.* to root@'%' identified by 'ZxmSeed' with grant option;
flush privileges;