使用YUM在Linux(CentOS 7)下安装mysql 5.7.18

来源:互联网 发布:1991莫斯科摇滚知乎 编辑:程序博客网 时间:2024/05/29 15:11

项目需要使用mysql,由于以前都是在windows下傻瓜式安装,基本没有遇到什么问题,但是这次是在服务器上安装,由于到linux上安装软件不熟悉,走了不少弯路,耽误了好多时间。总结下来,以免下次再走弯路。

****************************图片插入不成功,不知道是怎么回事*********************************


YUM安装的mysql常用命令:



1--systemctl start mysqld #启动MySQL
2--systemctl stop mysqld #关闭MySQL
3--systemctl restart mysqld #重启MySQL
4--systemctl status mysqld #查看MySQL运行状态
5--systemctl enable mysqld #设置开机启动
6--systemctl disable mysqld #关闭开机启动

一、各种环境:

linux版本:CentOS Linux release 7.2.1511 (core)  

mysql版本:community sercer 5.7.18

使用的yum安装包:

Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package 25.1K

Download
(mysql57-community-release-el7-11.noarch.rpm)

二 :安装步骤

我是先在windows上下载安装包,然后通过xshell导入到服务器中。然后根据mysql官网上的步骤安装的。任何教程都没有官网上的靠谱,之前在网上搜了好多教程,每个教程的安装方法都不一样,搞得我很郁闷,而且,都没有成功。最后还是通过官网上的教程安装成功。


2.1 按照下面的操作一步一步执行就可以了。

shell> yum search libaio  # search for info(Mysql安装需要以来libaio库,所以需要先安装libaio库)shell> yum install libaio # install library

shell> groupadd mysqlshell> useradd -r -g mysql -s /bin/false mysqlshell> cd /usr/localshell> tar zxvf /path/to/mysql-VERSION-OS.tar.gzshell> ln -s full-path-to-mysql-VERSION-OS mysqlshell> cd mysqlshell> mkdir mysql-filesshell> chmod 750 mysql-filesshell> chown -R mysql .shell> chgrp -R mysql .shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5 (mysql5.7.5选择使用这个命令,如果你的mysql是5.7.6及以上,不需要执行这个命令)shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and upshell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and upshell> chown -R root .shell> chown -R mysql data mysql-filesshell> bin/mysqld_safe --user=mysql &# Next command is optionalshell> cp support-files/mysql.server /etc/init.d/mysql.server

执行完以上所有步骤,安装就结束了。

2.2 安装结束后,启动mysql服务

shell> cd ~  #这里有一个问题,不知道需要需要切换到 “~”目录,之前没有“~”,启动不成功,不确定是我sytemctl start mysqld.service命令输入错了还是别的原因。
shell> sytemctl start mysqld.service

查看是否启动成功

shell> sytemctl status mysqld.service

如果有这个标识则启动成功

2.3 获取安装时的临时密码,用以登录mysql

shell> grep'temporary password'/var/log/mysqld.log

显示一下内容:

2017-05-10T00:55:46.982233Z 1 [Note] A temporary password is generated for root@localhost: 5C::+lMjqi+z

红框中的是临时密码。

2.4 使用临时密码登录

shell> mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.18

2.5 更改密码

 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
Query OK, 0 rows affected (0.00 sec)

注意:最新的mysql对安全性有很高的要求,密码必须包含特殊字符、大小写、数字,否则更改不成功,报错。

      ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

      

至此,安装结束。

******************************************************************************************************************

mysql 5.7.18默认的字符集是latin1,在存储中文时会出现乱码,修改字符集为utf8

方法: shell>vim /etc/my.cnf


添加以下内容:

[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8


如果需要支持emoji表情,只需将utf8改为utf8mb4。



*******************************************一下内容根据需要选择*************************************************

MySQL服务器上添加一个允许远程访问的用户


MySQL默认是没有开启远程控制的,必须添加远程访问的用户,如果是安装版的话,从MySQL提供的控制台进入。


用root用户登陆,然后:


shell> grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";


shell> flush privileges; # 刷新刚才的内容*


格式:grant 权限 on 数据库名.表名 to 用户@远程的主机ip identified by "用户密码";


@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。

如果你想允许用户 root 从ip为192.168.1.3的主机连接到mysql服务器的abc数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON abc.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' ;


同时也可以为现有的用户设置是否具有远程访问权限。如下:


shell> use mysql;


shell> update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)


shell> FLUSH PRIVILEGES;


查看结果,执行:


use mysql;


select host,user,password from user;


+--------------+--------+---------------+


| Host | User | Password |


+--------------+--------+-----------------+


| localhost | | | U 8RZq


| % | John | 123456 |


| localhost | root |


+--------------+------ --+---------------+

0 0