mysql安装配置
yum search libaio # 检索相关信息
yum install libaio # 安装依赖包
yum list installed | grep mysql
如果有,就先全部卸载,命令如下:
yum -y remove mysql-libs.x86_64
首先去官网下载需要安装的版本:https://downloads.mysql.com/archives/community/
将下载的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 找到默认的随机密码
把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
mysql -u root -p 然后输入密码进入
终端输入mysql -u root -p出现错误:-bash: mysql: command not found
输入:alias mysql=/usr/local/mysql/bin/mysql
重新设置密码
set password=password('123456');
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
通过 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
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
(为什么要设置请看:https://blog.csdn.net/qq_39234840/article/details/86536651)
大都问题都在于mysql5.7 版本中有了一个select mode(严格模式)最简单的方法就是设置sql_mode为空
首先查询:
select @@sql_mode;
sql_mode中有很多,
运行以下设置空
set @@global.sql_mode ='';
1、查看最大连接数
show variables like '%max_connections%';
2、修改最大连接数
set GLOBAL max_connections = 200;
命令: 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)