1.检查mysql是否安装

yum list installed | grep mysql

如果有的话 就全部卸载:

yum -y remove +数据库名称

2.MySQL 依赖 libaio,所以先要安装 libaio

yum search libaio # 检索相关信息
yum install libaio # 安装依赖包

3.下载 MySQL Yum Repository

如果找不到wget命令则先yum install wget:

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

4.添加 MySQL Yum Repository

添加 MySQL Yum Repository 到你的系统 repository 列表中,执行:

yum localinstall mysql-community-release-el7-5.noarch.rpm

5.验证下是否添加成功

yum repolist enabled | grep “mysql.-community.

6.选择要启用 MySQL 版本

查看 MySQL 版本,执行:
yum repolist all | grep mysql

可以看到 5.5, 5.7 版本是默认禁用的,因为现在最新的稳定版是 5.6

yum repolist enabled | grep mysql

查看当前的启动的 MySQL 版本

7.通过 Yum 来安装 MySQL

yum install mysql-community-server

Yum 会自动处理 MySQL 与其他组件的依赖关系:

此时MySQL 安装完成,它包含了 mysql-community-server、mysql-community-client、mysql-community-common、mysql-community-libs 四个包。

8.执行

rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7

如果提示你找不到,按照你安装的版本来,再执行下第7部可以看到安装的版本

执行

可以看到 MySQL 的安装目录是 /usr/bin/

启动和关闭 MySQL Server

启动 MySQL Server

systemctl start mysqld

查看 MySQL Server 状态

systemctl status mysqld

关闭 MySQL Server

systemctl stop mysqld

测试是否安装成功

mysql

可以进入 mysql 命令行界面

防火墙设置(可以直接关闭)

远程访问 MySQL, 需开放默认端口号 3306.

执行:
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
firewall-cmd --reload

常见命令

启动 MySQL Server:
systemctl start mysqld

查看 MySQL Server 状态:
systemctl status mysqld

关闭 MySQL Server:
systemctl stop mysqld

重启mysql server:
systemctl restart mysqld

常见问题

//mysql5.7安装时会产生一个默认的密码,查看此密码的文件一般存在于/var/log/mysqld.log上
grep ‘temporary password’ /var/log/mysqld.log //查看密码

mysql -uroot -p //输入密码后就会显示黑白的欢迎界面了,到这里,mysql已经安装成功了。

//首先我得改掉这个临时密码,进入mysql后输入
update mysql.user set authentication_string=password(‘123456’) where user=‘root’ and Host =‘localhost’;

报错:You must reset your password using ALTER USER statement before executing this statement
原来一开始是没有密码的,在初始化的时候有个密码,只是相当于临时密码:
直接执行设置密码即可:
alter user user() identified by “root”;

报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
密码太简单:
首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

然后执行:
alter user user() identified by “root”;

update user set password=password(‘123456’) where user=root’ and host=localhost;

设置允许远程访问
开放防火墙的端口号
mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。

use mysql;
UPDATE user SET ​​​Host​​​ = ‘%’ WHERE ​​User​​ = ‘root’ LIMIT 1;

开放防火墙端口,允许外部访问
a、修改防火墙配置
vi /etc/sysconfig/iptables
加入:-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 这段配置,然后进行保存

查看mysql安装目录:
ps -ef |grep -i mysql

#查看磁盘空间:
df -h

linux下更改MySQL数据库存储路径:

修改mysql配置文件,执行“vi /etc/my.cnf”命令并确定。
在打开的mysql数据库配置文件中,找到“datadir”这一行代码,查后面中的路径,并记下。

datadir=/var/lib/mysql

cp -r /var/lib/mysql /home1/mnt/mysqldata

报错:
Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.

查看日志:
vim /var/log/mysqld.log

报错:
Could not create unix socket lock file /var/lib/mysql/mysql.sock.lock.


mkdir -p /usr/local/mysql/

查看mysql版本:

mysql --help |grep Distrib