一、MySQL 简介
<img src="https://bucketblog.oss-cn-shenzhen.aliyuncs.com/blog/pic/mysql_logo.jpg" width="250" hegiht="150"/>
- MySQL 是一个关系型数据库管理系统,是MySQL AB公司开发,现在属于 Oracle 旗下产品。
- MySQL 采用标准化语言。体积小、速度快、成本低、开源等特点使得一些中小型网站都选择使用 MySQL 作为网站数据库。
二、MySQL 安装
1. 安装环境
- 系统:CentOS 6.8 64位
- MySQL:mysql-server-5.1.73 社区版
- MySQL CSDN下载链接
2. 安装步骤
1) 执行安装指令
yum -y install mysql-server
- 注意:是否使用 sudo 权限执行,请根据您具体环境决定
2) 执行命令,检查是否安装 mysql-server
rpm -qa|grep mysql-server
三、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
3) 保存退出
- 通过vim的 ":wq"命令保存退出。如果还处于编辑状态,需要按下 Esc 键,再输入命令。
2. 自启动配置
1) 先执行命令
chkconfig mysqld on
2) 再执行查看 mysql 状态,如果2-5位启动状态为 on 即可。
chkconfig --list mysqld
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
4. 启动 MySQL
sudo service mysqld start
或者
/etc/rc.d/init.d/mysqld start
5. MySQL 环境配置
因为 mysql 还未设置密码,所以需要设置登录数据库服务器的密码。
- 设置密码
mysql -u root
- 登录后如下:
- 查看所有用户
select user,host from mysql.user;
- 删除匿名用户:
delete from mysql.user where user='';
- 查看所有用户
select user,host from mysql.user;
- 插入一个用户
insert into mysql.user(Host, User, Password) values("localhost", "huaiangg", Password("123456"));
- 查看数据库已添加用户
- 创建一个database
create database `mmall` default character set utf8 collate utf8_general_ci;
- 查看数据库权限(\G 进行格式化):
select * from mysql.user \G;
- 赋予全部权限(因为需要远程连接,开放所有ip都能连接'%')
-- on 后面接的是 数据库名.表名 .*表示该数据库下的所有表
-- root@localhost 表示用户名@ip地址
-- identitified by '123456' ''里面表示该账户的密码
-- with grant option 表示可以把自己的权限赋值给别的用户
grant all privileges on mmall.* to root@'%' identified by '123456' with grant option;
- 修改用户密码
-- root@localhost ->> 用户名@ip
-- Password() ->> 内置函数
set password for root@localhost=Password('123456');
- 使用用户密码登录,键入以下指令,然后输入密码便可登录。
mysql -u root -p
四、MySQL 验证
1. 查看运行 mysql 服务器的ip地址
ifconfig
2. 通过客户端工具连接(这里使用 Navicat)
- Navicat + 破解工具 -- CSDN下载链接
- 伸手党可以直接联系作者获取下载链接。
3. 安装过程就不阐述了,有兴趣可以看一下的文章,这里直接贴测试连接图:
1) 连接到 centos 数据库
2) 连接成功则说明已经完成安装
五、MySQL 常用命令
1. 查看目前 mysql 用户
select user,host,password from mysql.user;
2. 修改 root 密码(使用内置函数修改)
set password for root@localhost=password('your new password');
或者
set password for root@127.0.0.1=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 yourusername@localhost 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 yourusername@'192.168.199.111' identified by 'yourpassword';
人若无名,专心练剑!
喜欢的朋友可以留下你的赞!