一、简介
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。
二、基本操作
--创建数据库
mysql> create database 数据库名称
--创建表
mysql> create table 表名 (
列的名字(id)类型(int(4))primary key(定义主键) auto_increment(描述 自增),
);
--查看所有数据库
mysql> show databases ;
--使用某个数据库
mysql> use 数据库名称;
--查看所使用数据库下所有的表
mysql> show tables;
--显示表的属性结构
mysql> desc 表名;
--选择表中数据的显示
-- *代表选择所有列 ,
mysql> select * from 表名 where id=?[and name=?] [or name=?];
mysql> select id,name from 表名order by 某一列的名称 desc(降序,asc为升序)
--删除表中的数据
mysql> delete from table where id=?[or name=? (and name=?)]
--删除表
mysql> drop table;
--删除数据库
mysql> drop database;
三、MYSQL-报错解决
1、Starting MySQL.Manager of pid-file quit without updating fi[失败]
关于这个错误原因有很多,最大的可能是没有创建测试数据库,可以用/usr/local/mysql/scripts/mysql_install_db –user=mysql命令进行创建;另外一个原因可能是权限设置问题,需要赋予mysql的data权限,可以用chmod -R 命令。
2、FATAL ERROR: Could not find /home/mysql/bin/my_print_defaults If you are using a binary release, you must run this script from
within the directory the archive extracted into. If you compiled
MySQL yourself you must run ‘make install’ first.
这个错误,是没有指明mysql的date路径导致的,可以很简单的进行解决:
vim /etc/my.cnf
在[mysld] 后面加上路径:
basedir = /usr/local/mysql
datadir =/opt/data;
3、-bash: mysql: command not found
用mysql命令进行登陆mysql报错,原因是没有设置环境变量,需要设置,或者进入到bin目录进行登陆cd /usr/local/mysql/bin
mysql -u root
4、ERROR 1130: Host ’192.168.1.3′ is not allowed to connect to this MySQL server
用mysql远程工具链接数据库报错,这个错误原因是没有开放远程链接功能,可以在mysql里面输入如下命令进行解决:GRANT ALL PRIVILEGES ON . TO ’root‘@’%' IDENTIFIED BY ’password’ WITH GRANT OPTION;
四、安装过程:
1、安装环境包
yum -y install \
ncurses \ #提供字符终端处理库
ncurses-devel \ #字符终端下屏幕控制的基本库
bison \ #gcc gcc-c++的语法分析器
cmake #跨平台的安装工具
2、建立管理用户mysql
useradd -s /sbin/nologin mysql
3、解压安装包
boost源码包地址:
链接:https://pan.baidu.com/s/1XFej_DoR3bXkCiTxFqhVOQ 密码:amv1
mysql5.7源码包地址:
链接:https://pan.baidu.com/s/1L4Saf17boqWTAqmm9mKWrw 密码:dhjk
tar zxvf mysql-5.7.17.tar.gz -C /opt/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/ #c++运行库
cd /usr/local/ #需要指向的路径,便于识别
mv boost_1_59_0 boost #重命名
4、配置安装
cd mysql-5.7.17/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #连接文件
-DSYSCONFDIR=/etc \ #mysql配置文件存在路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #进程文件所在路径
-DDEFAULT_CHARSET=utf8 \ #字符集
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库文件所在路径
-DWITH_BOOST=/usr/local/boost \ #支持c++运行库
-DWITH_SYSTEMD=1 #使系统支持mysql
make && make install
------注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧------------
5、修改属主、属组权限
chown -R mysql.mysql /usr/local/mysql/
6、修改配置文件
vi /etc/my.cn
7、修改配置文件的属主、属组权限
chown mysql:mysql /etc/my.cnf
8、设置环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile #环境变量文件
echo 'export PATH' >> /etc/profile #设置全局模式
source /etc/profile #执行使其生效
9、初始化数据库
cd /usr/local/mysql/
bin/mysqld \
--initialize-insecure \ #生成数据库密码,为空
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
10、复制到system目录下,便于systemctl管理
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
11、刷新进行识别,并开启服务
systemctl daemon-reload #刷新
systemctl start mysqld
12、查看端口是否开启
13、给root账号设置密码为abc123,提示输入的是原始密码。
mysqladmin -u root -p password "abc123"
14、输入密码登录
mysql -u root -p
15、此外,可以进行授权远程登录,便于管理
grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
* 所有数据库
* 所有表
root: 针对root用户
%: 主机IP地址;%代表所有
@ :分隔符
abc123: 授权密码
转载于:https://blog.51cto.com/13784264/2163297