MySQL安装及常用配置与管理命令总结

本文详细介绍了在Linux(CentOS7)上安装MySQL的步骤,包括检查、下载、安装及验证过程。同时,讲解了MySQL服务的管理,如启动、停止、重启以及查看状态。此外,还涉及字符集的修改、大小写的敏感性设置、SQL_MODE的管理和用户权限的管理,包括用户创建、权限授予与回收等操作。
摘要由CSDN通过智能技术生成

1. MySQL简介

MySQL 是一个开源的,可以定制的关系型数据库管理系统。它采用了 GPL 协议,你可以修改源码来开发自己的MySQL系统。 MySQL可以运行于多个系统上,并且支持多种语言,这些编程语言包括 C、C++、Python、Java、Perl、PHP、 Eiffel、Ruby 等。

MySQL 还支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为 8TB。

2. 在Linux中安装MySQL

(1)检查是否安装过MySQL
在CentOS7的环境下,使用命令:

rpm -e --nodeps mariadb-libs
rpm -qa|grep mariadb

默认 Linux(CentOS7)在安装的时候,自带了 mariadb(mysql 完全开源版本)相关的组件。 需要先执行卸载命令rpm -e --nodeps mariadb-libs,卸载系统自带的 mariadb。
在这里插入图片描述
(2)下载安装包
进入官网:https://dev.mysql.com/downloads/mysql/,下载MySQL安装包,将下载好的RPM安装包拷贝到opt目录下。
在这里插入图片描述
(3)执行安装
在安装目录下执行 rpm 命令安装

yum -y install libc.so.6
yum -y install libncurses.so.5
yum -y install libaio.so.1
rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm

需要先使用yum -y install命令安装缺失的依赖,如使用 yum -y install libc.so.6命令下载libc.so.6。
否则会出现如下错误:
在这里插入图片描述

(4)检查是否安装成功
检查是否安装成功的命令:

/usr/bin/mysqladmin --version

或者

rpm -qa|grep MySQL

在这里插入图片描述

3. MySQL服务

3.1 常用命令

(1) 查看服务状态

service mysql status

(2)启动服务

service mysql start

启动命令后,MySQL服务是开机自动启动的!

(3)停止服务

service mysql stop

(4)重启服务

service mysql restart

(5)查看MySQL进程

ps -ef|grep mysqld

在这里插入图片描述
相关参数的说明:
在这里插入图片描述
(6)初始化root用户的密码

/usr/bin/mysqladmin -u root password "000000"

3.2 服务重复启动问题

因多次启动MySQL服务,造成多个MySQL进程问题,此时尝试去登录或者操作则会报错:
在这里插入图片描述
MySQL服务状态失败
在这里插入图片描述
解决办法是杀死所有和MySQL进程相关的进程,然后重启服务
在这里插入图片描述
注意是mysqld,d表示daemon,即守护进程。

4. 修改字符集

查看MySQL默认的编码字符集:

show variables like '%char%';

在这里插入图片描述
如果在建库建表的时候,没有明确指定字符集,则采用默认的字符集lantin1,这样就会导致插入的中文字符出现乱码问题。

修改配置文件,在/usr/share/mysql/中找到my.cnf的配置文件,拷贝其中的my-huge.cnf到/etc/并命名为my.cnf。在配置文件对应的结点添加以下内容后再重启服务。

cp /usr/share/mysql/my-huge.cnf /etc//my.cnf
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8

重启MySQL服务

service mysql restart

重启MySQL服务后,再次查看默认编码字符集
在这里插入图片描述
(1)修改已创建库、表字符集修改数据库的字符集

mysql>alterdatabasemydbcharacterset'utf8';

修改数据表的字符集

mysql>altertablemytblconverttocharacterset'utf8'

(2)对于已经乱码数据无论是修改mysql配置文件或是修改库、表字符集,都无法改变已经变成乱码的数据。只能删除数据重新插入或更新数据才可以完全解决

5. 设置大小写是否敏感

查看大小写是否敏感的命令:

showvariableslike'%lower_case_table_names%';

在这里插入图片描述
Windows系统默认大小写不敏感,但是Linux系统是大小写敏感的,value值的定义如下:
在这里插入图片描述
如果设置大小写不敏感,就在my.cnf这个配置文件[mysqld]中加入lower_case_table_names=1,然后重启服务器即可。
在这里插入图片描述
再次查看
在这里插入图片描述

6. SQL_MODE

sql_mode定义了对Mysql中sql语句语法的校验规则!sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。

在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题

6.1 常用的值

在这里插入图片描述
在这里插入图片描述

6.2 查看和修改

查看当前的sql_mode:

select @@sql_mode;

临时修改sql_mode:

set @@sql_mode=’’;

永久修改,需要在配置文件my.cnf中修改[mysqld]下添加sql_mode=‘’:

7. MySQL的用户管理

7.1 相关命令

MySQL的用户管理的常用命令如下:
在这里插入图片描述

7.2 用户表

查看当前的用户表,执行命令:

select host,user,password,select_priv,insert_priv,drop_priv,update_priv,delete_priv from mysql.user;

在这里插入图片描述

  • host:表示连接类型
  1. % 表示所有远程通过 TCP 方式的连接 IP 地址 如 (192.168.1.2,127.0.0.1) 通过制定 ip 地址进行的 TCP 方式的连接
  2. 机器名 表示通过指定网络中的机器名进行的 TCP 方式的连接
  3. ::1 表示IPv6 的本地 ip 地址 等同于 IPv4 的 127.0.0.1
  4. localhost 表示本地方式通过命令行方式的连接 ,比如 mysql -u xxx -p 方式的连接。
  • user:用户名,同一用户通过不同方式链接的权限是不一样的。
  • password:密码
  • select_priv,insert_priv,drop_priv,update_priv等:用户拥有的权限

7.3 开启远程连接

修改已有用户的host字段,修改mysql的user表,host字段为指定ip即可。如果想任意主机都可以连接,可以使用%。

update mysql.user set host = '%' where user = 'root';

修改表后并不会立即生效,需要执行以下sql使用修改生效。

flush privileges;

8. MySQL的权限管理

8.1 授予权限

在这里插入图片描述
新建远程连接用户

grant all on *.* to admin@'%' identified by '123' with grant option;

8.2 查看和收回权限

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值