CentOS 7安装mysql5.7.17(mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz)

下载mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz安装包

下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

上传至 /home/datadase 目录下

进入 /usr/local 创建目录(-p 参数会递归创建文件夹)

[root@database local]# mkdir mysql/data -p


创建一个名为 mysql 的用户组

[root@database ~]# groupadd mysql
[root@database ~]# useradd -g mysql -d /usr/local/mysql mysql

进入 /home/datadase 解压文件

[root@database ~]# cd /home/datadase/
[root@database datadase]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 

进入解压好的 MySQL 源码包,移动到创建好的 MySQL 目录

[root@database datadase]# cd mysql-5.7.17-linux-glibc2.5-x86_64/
[root@database mysql-5.7.17-linux-glibc2.5-x86_64]# mv * /usr/local/mysql/

进入自己创建的 MySQL 目录,编译安装

[root@database mysql]# cd /usr/local/mysql/
[root@database mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

记录好密码,root@localhost 后面就是 MySQL 自己生成的密码
在这里插入图片描述
配置 MySQL,进入 MySQL 的支持文件目录
会问你是否覆盖系统的 /etc/my.cnf 原文件,输入:y

[root@database mysql]# cd /usr/local/mysql/support-files
[root@database support-files]# cp my-default.cnf /etc/my.cnf

修改 MySQL 配置文件

[root@database support-files]# vim /etc/my.cnf

配置内容如下,注释掉最下面的 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld]

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data

port = 3309
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
collation-server=utf8mb4_unicode_ci
max_allowed_packet=20M
max_connections=1000
wait_timeout = 600
interactive_timeout = 600
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[client]
default-character-set=utf8mb4

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

启动 MySQL 服务,在 /usr/local/mysql 目录下启动,出现 SUCCESS! 表示安装成功

[root@database support-files]# cd /usr/local/mysql/
[root@database mysql]# ./support-files/mysql.server start

配置 MySQL 服务开机自动启动,拷贝启动文件到 /etc/init.d/ 下并重命令为mysqld

[root@database mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

增加 mysqld 文件执行权限

[root@database mysql]# chmod 755 /etc/init.d/mysqld		增加执行权限
[root@database mysql]# chkconfig --add mysqld			添加进自启动项列表中
[root@database mysql]# chkconfig mysqld on				设置开机启动

下面是 MySQL 操作

创建一个软链接

[root@database mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

登录 MySQL,使用刚刚记录的密码

[root@database mysql]# mysql -uroot -p


设置新密码,PASSWORD()里面填写你想要的密码,回车

mysql> SET PASSWORD = PASSWORD('123456');

MySQL 远程授权 all privileges 全部权限,GRANT 可以立刻生效,创建了一个账户名为 root , 密码 123456,% 表示所有的 ip都可以访问读取数据库的账号

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
mysql> flush privileges;

创建只有 crud 权限的账号

mysql> grant select,insert,update,delete on *.* to 'user'@'%' identified by '123456';
mysql> flush privileges;

退出

mysql> quit;

到此MySQL已经搭建完毕,下面是一些常用命令

/etc/init.d/mysqld start				启动服务
/etc/init.d/mysqld restart				重启服务
/etc/init.d/mysqld stop					停止服务

登录
[root@database ~]# mysql -u root -p

显示全部的数据库
mysql> show databases;

使用某一个数据库
mysql> use databasename;

显示一个数据库的全部表
mysql> show tables;

退出
mysql> quit;

删除数据库和数据表
mysql> drop database 数据库名;
mysql> drop table 数据表名;

查看查询次数
mysql> SHOW STATUS LIKE 'com_select';

查看连接数(登录次数)
mysql> SHOW STATUS LIKE 'connections';

数据库运行时间
mysql> SHOW STATUS LIKE 'uptime';

查看慢查询次数
mysql> SHOW STATUS LIKE 'slow_queries';

查看索引使用的情况
mysql> SHOW STATUS LIKE 'handler_read%';
handler_read_key:这个值越高越好,越高表示使用索引查询到的次数。
handler_read_rnd_next:这个值越高,说明查询低效。

查看允许返回数据的大小设置
SHOW VARIABLES LIKE '%max_allowed_packet%';

全局锁
mysql> FLUSH TABLES WITH READ LOCK;
表锁
mysql> lock tables 表名 read;

解锁
mysql> unlock tables;

mysql> flush privileges;

too many connections 连接数量过多解决办法

重启mysql

打开配置文件/etc/my.cnf

在 [mysqld] 下面添加

max_connections=1000
wait_timeout = 600
interactive_timeout = 600

重启mysql即可
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值