我们平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以,阿铭建议你安装二进制免编译包。你可以到MySQL官方网站去下载 http://dev.mysql.com/downloads/ 具体版本根据你的平台和需求而定,目前比较常用的为mysql-5.0/mysql-5.1, 5.5版本虽然已经发布有段日子了,但是貌似用在线上跑服务的还是少数。所以,阿铭建议你下载一个5.1的版本。
1.下载mysql到/usr/local/src/

cd /usr/local/src/
wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

2.解压

[root@localhost src]# tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

3.把解压完的数据移动到/usr/local/mysql

[root@localhost src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql

4.建立mysql用户

[root@localhost src]# useradd -s /sbin/nologin mysql

5.初始化数据库

[root@localhost src]# cd /usr/local/mysql
[root@localhost mysql]# mkdir -p /data/mysql ; chown -R mysql:mysql /data/mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

–user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果你看到两个 “OK” 说明执行正确,否则请仔细查看错误信息,如果你实在解决不了,请把问题发到论坛 (http://www.aminglinux.com/bbs/forum-40-1.html)阿铭会来帮你解决问题。
6.拷贝配置文件

[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf

7.拷贝启动脚本文件并修改其属性

[root@localhost mysql]# cp support-files/mysql.server  /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld

8.修改启动脚本

[root@localhost mysql]# vim /etc/init.d/mysqld

需要修改的地方有 “datadir=/data/mysql” (前面初始化数据库时定义的目录)
9.把启动脚本加入系统服务项,并设定开机启动,启动mysql

[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start

如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err. 检查mysql是否启动的命令为:

[root@localhost mysql]# ps aux |grep mysqld

更改mysql数据库root的密码

首次进入数据库是不用密码的:

[root@localhost ~]# /usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.40-log MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

退出的话,直接输入quit或者exit即可。细心的读者也许会发现,阿铭在上一条命令中,使用的是绝对路径,这样不方便,但是单独只是输入一个 “mysql” 命令是不行的,因为 “/usr/local/mysql/bin” 没有在 PATH 这个环境变量里。如何把它加入环境变量PATH中?之前阿铭介绍过:

[root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin

这样就可以了,但重启Linux后还会失效,所以需要让它开机加载:

[root@localhost ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.40-log MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

阿铭再来解释一下上一条命令 -u 的含义,它用来指定要登录的用户,后边可以有空格,也可以无空格,root用户是mysql自带的管理员账户,默认没有密码的,那么如何给root用户设定密码?按如下操作:
[root@localhost ~]# mysqladmin -uroot password ‘yourpassword’
这样就设置了 ‘root’ 账号的密码了,不妨再来用上面的命令登陆一下试试看:

[root@localhost ~]# mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)

报错了,这是在提示我们,root账号是需要密码登陆的。

[root@localhost ~]# mysql -uroot -p'yourpassword'
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.40-log MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

需要加一个 -p 选项,它后面可以直接跟密码,后面不可以有空格,不过密码最好用单引号括起来,不括也可以,但是密码中如果有特殊字符就会有问题了,所以最好是括起来吧。当然, -p后面也是可以不加密码,而是和用户交互的方式,让我们输入密码:

[root@localhost ~]# mysql -uroot -p
Enter password:

连接数据库

刚刚讲过通过使用 mysql -u root -p 就可以连接数据库了,但这只是连接的本地的数据库 “localhost”, 可是有很多时候都是去连接网络中的某一个主机上的mysql。
[root@localhost ~]# mysql -uroot -p -h192.168.137.10 -P3306
Enter password:
其中后边的 -P(大写) 用来指定远程主机mysql的绑定端口,默认都是3306, -h 用来指定远程主机的IP.

MySQL操作命令

首先需要切换到某个库里去:

mysql> use mysql;
Database changed

查看某个表的全部字段

mysql> desc slow_log;

也可以使用两一条命令,显示比这个更详细,而且可以把建表语句全部列出来:

mysql> show create table slow_log\G;

查看当前是哪个用户

mysql> select user();

查看当前数据库版本

mysql> select version();

查看当前mysql状态

mysql> show status;

查看mysql的参数

mysql> show variables;

修改mysql的参数

mysql> show variables like 'max_connect%';

看当前mysql服务器的队列
这个在日常的管理工作中使用最为频繁,因为使用它可以查看当前mysql在干什么,可以发现是否有锁表:

mysql> show processlist;

创建一个普通用户并授权

mysql> grant all on *.* to user1 identified by '123456';
Query OK, 0 rows affected (0.01 sec)

all 表示所有的权限(读、写、查询、删除等等操作), . 前面的 * 表示所有的数据库,后面的 * 表示所有的表,identified by 后面跟密码,用单引号括起来。这里的user1指的是localhost上的user1,如果是给网络上的其他机器上的某个用户授权则这样:

mysql> grant all on db1.* to 'user2'@'10.0.2.100' identified by '111222';
Query OK, 0 rows affected (0.01 sec)

用户和主机的IP之间有一个@,另外主机IP那里可以用%替代,表示所有主机,例如:

mysql> grant all on db1.* to 'user3'@'%' identified by '231222';

查询语句

mysql> select count(*) from mysql.user;
+----------+
| count(*) |
+----------+
|        8 |
+----------+
1 row in set (0.00 sec)

mysql.user表示mysql库的user表;count(*)表示表中共有多少行。

mysql> select * from mysql.db;

这个用来表示查询mysql库的db表中的所有数据,也可以查询单个字段或者多个字段:

mysql> select db from mysql.db;
mysql> select db,user  from mysql.db;

同样,在查询语句中可以使用万能匹配 “%”

mysql> select * from mysql.db where host like '10.0.%';

** 插入一行**

mysql> insert into db1.t1 values (1, 'abc');
Query OK, 1 row affected (0.02 sec)mysql> select * from db1.t1;
+------+------+
| id   | name |
+------+------+
|    1 | abc  |
+------+------+
1 row in set (0.00 sec)

更改表的某一行

mysql> update db1.t1 set name='aaa' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> select * from db1.t1;
+------+------+
| id   | name |
+------+------+
|    1 | aaa  |
+------+------+
1 row in set (0.00 sec)

清空表数据

mysql> truncate table db1.t1;
Query OK, 0 rows affected (0.01 sec)mysql> select count(*) from db1.t1;
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)

删除表

mysql> drop table db1.t1;
Query OK, 0 rows affected (0.00 sec)

删除数据库

mysql> drop database db1;
Query OK, 0 rows affected (0.02 sec)

mysql数据库的备份与恢复

备份:

[root@localhost ~]# mysqldump  -uroot -p'yourpassword' mysql >/tmp/mysql.sql

使用 mysqldump 命令备份数据库,-u 和 -p 两个选项使用方法和前面说的 mysql 同样,而后面的 “mysql” 指的是库名,然后重定向到一个文本文档里。备份完后,你可以查看 /tmp/mysql.sql 这个文件里的内容。

恢复和备份正好相反:

[root@localhost ~]# mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql

二进制安装MySQL相关推荐

  1. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6

    在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...

  2. 二进制安装mysql及MySQL增删改查

    二进制安装mysql及MySQL增删改查 1. MySQL简介 2. MySQL的特点 3. 数据库在 Web 开发中的重要地位 4. 安装MySQL 4.1 首先需要下载MySQL的包 4.3 解决 ...

  3. 二进制安装mysql 5.7、mariadb (附yum安装方式)

    前言: 本文以mariadb为例进行讲解,安装mysql同理,并以通过测试.安装前查找系统已安装的相关包(rpm -qa|grep -e "mysql" -e "mari ...

  4. centos7 二进制安装mysql,Centos7 二进制安装mysql5.7

    安装环境 系统版本:CentOS Linux release 7.5.1804 (Core) Mysql版本:5.7.24 关闭防火墙并禁止开机自启 systemctl stop firewalld. ...

  5. linux 二进制安装mysql

    mysql安装为什么大部分使用二进制安装.而不是源码手动去编译? mysql使用的glibc进行开发的.glibc库是一个底层api,所以只要是linux,都会有glibc库.所以,mysql安装不需 ...

  6. CentOS 8 通过二进制安装 MySQL

    需求:CentOS8下采用二进制安装包的形式安装MySQL,并且指定数据库文件存放的路径地址. 步骤如下: 在 MySQL下载地址 中下载 MySQL 二进制安装包. 注意:在版本选择的时候,版本号在 ...

  7. 二进制安装mysql集群_基于二进制安装Cloudera Manager集群

    一.环境准备 参考链接:https://www.cnblogs.com/zhangzhide/p/11108472.html 二.安装jdk(三台主机都要做) 下载jdk安装包并解压:tar xvf ...

  8. CentOS系统二进制安装MySQL

    1. 下载软件 本次安装演示采用mysql-5.7.12版本 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.12-linux-glibc2.5- ...

  9. centos7.4二进制安装mysql

    1:下载二进制安装包(安装时确保没有mysql数据库服务器端): mariadb-10.2.12-linux-x86_64.tar.gz. mariadb-10.2.12.tar.gz. 2:创建系统 ...

最新文章

  1. 14 款免费漂亮的 BuddyPress 主题
  2. python next day_PYTHON养成日记 DAY-13
  3. RabbitMQ for windows
  4. xpath以某个字符开始_XPATH简单使用
  5. Java8 LocalDateTime和Date相互转换
  6. VMD变分模态分解代码,C++代码下载
  7. [IOS]——播放器AVPlayer的实现
  8. CodeBlocks新手安装以及汉化(20,03版本)
  9. 大疆DJI2019届秋季招聘笔试:机器学习算法工程师
  10. 怎么用图片编辑器给证件照换底色
  11. mysql - rank函数的使用
  12. linux进程假死的原因_Linux系统死机的原因及解决办法
  13. MyBatis—MyBatis概述
  14. 【MagNet】《Progressive Semantic Segmentation》
  15. python学习(二十一)
  16. 全新2022测算系统完整版+支持对接结
  17. 绿色版 MySQL 安装配置的正确操作步骤
  18. RabbitMQ-客户端源码之ChannelManager
  19. java项目-第34期基于SpringBoot实现的中小医院HIS管理系统【毕业设计】
  20. 计算机一级电子表格求和,Excel表格如何进行单个求和以及批量求和操作-电脑自学网...

热门文章

  1. 基于卷积神经网络的图像情感分析模型,Python实现
  2. extjs mysql_ExtJS与PHP、MySQL实现存储
  3. python绘制并列的条形图的方法_如何并排绘制具有相同X坐标的条形图('dodged')...
  4. 用友CDM系统期初导入商品资料经验
  5. 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句...
  6. 《计算机系统:核心概念及软硬件实现(原书第4版)》——1.4数据库系统
  7. 1227: [SDOI2009]虔诚的墓主人
  8. Golang通过syscall调用windows dll方法
  9. 网页素材大宝库:20套精美的清爽风格图标素材
  10. 禁止WinXP文件夹自动展开