Linux-mysql安装、sql_mode、最大连接数、当前连接数等查询命令

mysql安装配置

yum search libaio # 检索相关信息

yum install libaio # 安装依赖包

 

yum list installed | grep mysql

如果有,就先全部卸载,命令如下:

yum -y remove mysql-libs.x86_64

 

方法1:tar安装 (可自选版本)

首先去官网下载需要安装的版本:https://downloads.mysql.com/archives/community/

Linux-mysql安装、sql_mode、最大连接数、当前连接数等查询命令_第1张图片

将下载的tar上传至/usr/local下

使用tar -zxvf 解压,并且重命名mysql

mv mysql-5.7.25 /usr/local/mysql

检查mysql组和用户是否存在,如果没有则创建

cat /etc/group|grep mysql

groupadd mysql

useradd -r -g mysql mysql  #useradd -r参数表示mysql用户是系统用户,不可用于登录系统

创建data目录

cd mysql

mkdir data

将/usr/local/mysql的所有者及所属组改为mysql

chown -R mysql.mysql /usr/local/mysql

 在/etc目录下创建my.cnf  内容如下

[mysqld]

#设置mysql的安装目录
basedir =/usr/local/mysql
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql/data
#设置端口
port = 3306

socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=

 

cd  /usr/local/mysql 

chmod 777 data

初始化mysql

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

 启动mysql

service mysql start    #status查看状态、stop关闭

然后查看data中的mysqld.log  找到默认的随机密码

Linux-mysql安装、sql_mode、最大连接数、当前连接数等查询命令_第2张图片

把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

mysql -u root -p   然后输入密码进入

Linux-mysql安装、sql_mode、最大连接数、当前连接数等查询命令_第3张图片

终端输入mysql -u root -p出现错误:-bash: mysql: command not found
      输入:alias mysql=/usr/local/mysql/bin/mysql

重新设置密码

set password=password('123456');

 

方法2:rpm安装 (默认5.6版本)

cd usr

cd local

mkdir mysql

cd mysql

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

如果提示-bash: wget: 未找到命令,请先执行 yum install wget 安装 wget

如果提示certificate common name “www.mysql.com” doesn’t match requested host name

“dev.mysql.com”.

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

安装mysql服务

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

验证是否下载成功

yum repolist enabled | grep "mysql.*-community.*"

查看 MySQL 版本,执行

yum repolist all | grep mysql

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

 

Linux-mysql安装、sql_mode、最大连接数、当前连接数等查询命令_第4张图片

 

通过 Yum 来安装 MySQL

yum install mysql-community-server

     如果运行上面命令出现:

          错误:软件包:akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)      。。。。

           解决方案:

       yum -y remove mariadb-libs

           运行

        yum install mysql-community-server

启动 MySQL Server

systemctl start mysqld

查看 MySQL Server 状态

systemctl status mysqld

关闭 MySQL Server

systemctl stop mysqld

 

给mysql root用户修改密码

设置MySQL 数据库root 用户的密码:

# mysqladmin -u root password '123456'

登录数据库:

# mysql -u root -p

输入密码

mysql->

 

简单的创建远程连接账号

修改root权限 创建远程账号连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'chenyang' WITH GRANT OPTION; 

(第一个root表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个chenyang表示密码)

flush privileges; 命令立即生效

 

现在就可以用Navicat等数据库连接软件连接试试看啦!!!

 

如果无法连接可能是防火墙的问题,查看解决:https://blog.csdn.net/qq_39234840/article/details/102686412


 

Linux环境下mysql大小写敏感解决办法

1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;

2、用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;(注意!!!!!是[mysqld]下一行

lower_case_table_names参数详解:

lower_case_table_names= 0

其中 0:区分大小写,1:不区分大小写

设置账号和权限

https://blog.csdn.net/qq_39234840/article/details/84328987

设置mysql global.sql_mode

(为什么要设置请看:https://blog.csdn.net/qq_39234840/article/details/86536651)

大都问题都在于mysql5.7 版本中有了一个select mode(严格模式)最简单的方法就是设置sql_mode为空

首先查询:

select @@sql_mode; 


sql_mode中有很多,

运行以下设置空

set @@global.sql_mode ='';

 

MySQL查看最大连接数和修改最大连接数

1、查看最大连接数

show variables like '%max_connections%';


2、修改最大连接数

set GLOBAL max_connections = 200;

mysql其他查询命令

命令: show status;
命令:show status like '%下面变量%'; 
Aborted_clients                由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 
Aborted_connects            尝试已经失败的MySQL服务器的连接的次数。 
Connections                     试图连接MySQL服务器的次数。 
Created_tmp_tables          当执行语句时,已经被创造了的隐含临时表的数量。 
Delayed_insert_threads     正在使用的延迟插入处理器线程的数量。 
Delayed_writes                用INSERT DELAYED写入的行数。 
Delayed_errors                用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 
Flush_commands            执行FLUSH命令的次数。 
Handler_delete                 请求从一张表中删除行的次数。 
Handler_read_first          请求读入表中第一行的次数。 
Handler_read_key           请求数字基于键读行。 
Handler_read_next           请求读入基于一个键的一行的次数。 
Handler_read_rnd           请求读入基于一个固定位置的一行的次数。 
Handler_update              请求更新表中一行的次数。 
Handler_write                 请求向表中插入一行的次数。 
Key_blocks_used            用于关键字缓存的块的数量。 
Key_read_requests         请求从缓存读入一个键值的次数。 
Key_reads                      从磁盘物理读入一个键值的次数。 
Key_write_requests         请求将一个关键字块写入缓存次数。 
Key_writes                      将一个键值块物理写入磁盘的次数。 
Max_used_connections    同时使用的连接的最大数目。 
Not_flushed_key_blocks   在键缓存中已经改变但是还没被清空到磁盘上的键块。 
Not_flushed_delayed_rows      在INSERT DELAY队列中等待写入的行的数量。 
Open_tables                  打开表的数量。 
Open_files                     打开文件的数量。 
Open_streams               打开流的数量(主要用于日志记载) 
Opened_tables              已经打开的表的数量。 
Questions                     发往服务器的查询的数量。 
Slow_queries                要花超过long_query_time时间的查询数量。 
Threads_connected       当前打开的连接的数量。 
Threads_running          不在睡眠的线程数量。 
Uptime                        服务器工作了多少秒。

(参考:https://www.cnblogs.com/me80/p/7392669.html

你可能感兴趣的:(mysql安装)