欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux\CentOS MySql 安装与配置

程序员文章站 2024-03-22 23:57:28
...

一、MySQL 简介

Linux\CentOS MySql 安装与配置

  • MySQL 是一个关系型数据库管理系统,是MySQL AB公司开发,现在属于 Oracle 旗下产品。
  • MySQL 采用标准化语言。体积小、速度快、成本低、开源等特点使得一些中小型网站都选择使用 MySQL 作为网站数据库。

二、MySQL 安装

1. 安装环境

2. 安装步骤

1) 执行安装指令

yum -y install mysql-server
  • 注意:是否使用 sudo 权限执行,请根据您具体环境决定

2) 执行命令,检查是否安装 mysql-server

rpm -qa|grep mysql-server

Linux\CentOS MySql 安装与配置

三、MySQL 配置

  • 注意:默认配置文件在 /etc/my.cnf
  • 注意:是否使用 sudo 权限执行,请根据您具体环境决定

1. 字符集配置

  • 关于中文乱码问题,在 5.1 版本时,为解决中文乱码问题,my.ini 内 [mysql] 和 [mysqld] 中都添加
default-character-set = utf8
  • 在 5.5 版本,[mysql] 内可以这么写,[mysqld] 内不能这么写,而是添加
character-set-server=utf8

1) 修改 my.cnf 配置:

sudo vim /etc/my.conf

2) 添加配置,在 [mysqld] 节点下添加:

default-character-set = utf8
character-set-server = utf8

Linux\CentOS MySql 安装与配置

3) 保存退出

  • 通过vim的 ":wq"命令保存退出。如果还处于编辑状态,需要按下 Esc 键,再输入命令。

2. 自启动配置

1) 先执行命令

chkconfig mysqld on

2) 再执行查看 mysql 状态,如果2-5位启动状态为 on 即可。

chkconfig --list mysqld 

Linux\CentOS MySql 安装与配置

3. 防火墙配置

1) 编辑防火墙配置

sudo vim /etc/sysconfig/iptables

2) 添加规则(开放3306端口)

-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

3) 保存退出

  • 通过vim的 ":wq"命令保存退出。如果还处于编辑状态,需要按下 Esc 键,再输入命令。

4) 重启防火墙

sudo service iptables restart

Linux\CentOS MySql 安装与配置

4. 启动 MySQL

sudo service mysqld start

或者

/etc/rc.d/init.d/mysqld start

Linux\CentOS MySql 安装与配置

5. MySQL 环境配置

因为 mysql 还未设置密码,所以需要设置登录数据库服务器的密码。

  • 设置密码
mysql -u root
  • 登录后如下:

Linux\CentOS MySql 安装与配置

  • 查看所有用户
select user,host from mysql.user;

Linux\CentOS MySql 安装与配置

  • 删除匿名用户:
delete from mysql.user where user='';

Linux\CentOS MySql 安装与配置

  • 查看所有用户
select user,host from mysql.user;

Linux\CentOS MySql 安装与配置

  • 插入一个用户
insert into mysql.user(Host, User, Password) values("localhost", "huaiangg", Password("123456"));
  • 查看数据库已添加用户

Linux\CentOS MySql 安装与配置

  • 创建一个database
create database `mmall` default character set utf8 collate utf8_general_ci;
  • 查看数据库权限(G 进行格式化):
select * from mysql.user \G;
  • 赋予全部权限(因为需要远程连接,开放所有ip都能连接'%')
-- on 后面接的是 数据库名.表名   .*表示该数据库下的所有表
-- aaa@qq.com 表示用户名@ip地址
-- identitified by '123456'  ''里面表示该账户的密码
-- with grant option 表示可以把自己的权限赋值给别的用户
grant all privileges on mmall.* to  aaa@qq.com'%' identified by '123456' with grant option;
  • 修改用户密码
-- aaa@qq.com ->> 用户名@ip
-- Password() ->> 内置函数
set password for aaa@qq.com=Password('123456');
  • 使用用户密码登录,键入以下指令,然后输入密码便可登录。
mysql -u root -p

四、MySQL 验证

1. 查看运行 mysql 服务器的ip地址

ifconfig

Linux\CentOS MySql 安装与配置

2. 通过客户端工具连接(这里使用 Navicat)

3. 安装过程就不阐述了,有兴趣可以看一下的文章,这里直接贴测试连接图:

1) 连接到 centos 数据库

Linux\CentOS MySql 安装与配置

2) 连接成功则说明已经完成安装

Linux\CentOS MySql 安装与配置

五、MySQL 常用命令

1. 查看目前 mysql 用户

select user,host,password from mysql.user;

2. 修改 root 密码(使用内置函数修改)

set password for aaa@qq.com=password('your new password');

或者

set password for aaa@qq.com=password('your new password');

3. 退出 mysql

exit

4. 重新登录(需要输入密码)

mysql -u root -p

5. 删除匿名用户

  • 查看是否有匿名用户
select user,host from mysql.user;
  • 删除匿名用户(user='', ''表示空串)
delect from mysql.user where user = '';
  • 刷新,使操作生效
flush privileges;

6. 添加 mysql 新用户

insert into mysql.user(Host,User,Password) values("localhost", "yourusername", password("yourpaddword"));
  • 刷新,使操作生效
flush privileges;

7. 创建新的database

CREATE DATABASE `db_test` DEFAULT CHARRACTER SET utf8 COLLATE utf8_general_ci;

8. 给本地用户赋予所有权限

grant all privileges on db_test.* to aaa@qq.com identified by 'yourpassword';

9. 给账号开通外网所有权限

grant all privileges on db_test.* to 'yourusername'@'%' identified by 'yourpassword';
  • 这里需要根据自己所需要的权限给予权限,例如把db_test数据库下所有的表增改查权限(不给删除权限)给到 192.168.199.111 主机,写法如下:
grant select,insert,update  on db_test.* to aaa@qq.com'192.168.199.111' identified by 'yourpassword';

人若无名,专心练剑!

喜欢的朋友可以留下你的赞!