设为首页 收藏本站
查看: 890|回复: 0

[经验分享] MySQL测试

[复制链接]

尚未签到

发表于 2018-10-7 07:49:32 | 显示全部楼层 |阅读模式
  MySQL 数据库系统
  MySQL 特点:
  多进程
  多用户
  高性能
  高可靠
  易用性
  MySQL AB --> SUN --> Oracle
  MySQL --> MariaDB
  关系型数据库 RDBMS:
  商业:Oracle,Sybase,Infomix,SQL Server,DB2
  开源:MySQL,PostgreSQL,pgsql,EnterpriseDB
  非关系型数据库 NoSQL:
  MongoDB,Redis,HBase,memcached
  MySQL:
  Community Edtion   社区版
  Enterprise Edtion  企业版
  软件包格式:
  .rpm
  .exe
  .bin(二进制)
  源程序
  RPM 包安装方法:
  yum -y install mysql-server mysql
  service mysqld start
  netstat -ntpl |grep :3306
  MySQL源码安装+LVM 逻辑卷
  创建逻辑卷 /dev/mysqlvg/mysqllv
  创建一个分区,将类型改为8e并保存退出
  [root@RHEL6-Server1 ~]# fdisk -l /dev/sdb

  Device Boot      Start         End      Blocks  >  /dev/sdb1               1       10443    83883366   8e  Linux LVM
  [root@RHEL6-Server1 ~]# partprobe /dev/sdb
  [root@RHEL6-Server1 ~]# pvcreate /dev/sdb1
  [root@RHEL6-Server1 ~]# vgcreate mysqlvg /dev/sdb1
  [root@RHEL6-Server1 ~]# lvcreate -L 60G -n mysqllv mysqlvg
  [root@RHEL6-Server1 ~]# mkfs.ext4 /dev/mysqlvg/mysqllv
  [root@RHEL6-Server1 ~]# mkdir /usr/local/mysql/data -p
  [root@RHEL6-Server1 ~]# mount /dev/mysqlvg/mysqllv /usr/local/mysql/data
  配置自动挂载
  [root@RHEL6-Server1 ~]# vim /etc/fstab
  /dev/mysqlvg/mysqllv /usr/local/mysql/data ext4 defaults 0 0
  [root@RHEL6-Server1 ~]# mount -a
  ===============================================================================================================
  1)安装Mysql数据库
  [root@RHEL6-Server1 ~]# rpm -e mysql-server mysql
  [root@RHEL6-Server1 ~]# yum -y install ncurses-devel
  安装配置工具cmake
  [root@RHEL6-Server1 ~]# tar xf cmake-2.8.12.tar.gz -C /usr/src/
  [root@RHEL6-Server1 ~]# cd /usr/src/cmake-2.8.12/
  [root@RHEL6-Server1 cmake-2.8.12]# ./configure && gmake && gmake install
  [root@RHEL6-Server1 ~]# groupadd mysql
  [root@RHEL6-Server1 ~]# useradd -M -s /sbin/nologin -g mysql mysql
  [root@RHEL6-Server1 ~]# tar xf mysql-5.7.2-m12.tar.gz -C /usr/src/
  [root@RHEL6-Server1 ~]# cd /usr/src/mysql-5.7.2-m12/
  [root@RHEL6-Server1 mysql-5.7.2-m12]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql     //主程序安装目录
  -DDEFAULT_CHARSET=utf8                      //默认字符集为 utf8
  -DDEFAULT_COLLATION=utf8_general_ci         //默认的字符集校对规则
  -DWITH_EXTRA_CHARSETS=all                   //安装所有字符集
  -DSYSCONFDIR=/etc                           //配置文件存放目录
  [root@RHEL6-Server1 mysql-5.7.2-m12]# make && make install
  2)优化调整
  [root@RHEL6-Server1 mysql-5.7.2-m12]# cp support-files/my-default.cnf /etc/my.cnf
  [root@RHEL6-Server1 mysql-5.7.2-m12]# cp support-files/mysql.server /etc/init.d/mysqld
  [root@RHEL6-Server1 mysql-5.7.2-m12]# chmod +x /etc/init.d/mysqld
  [root@RHEL6-Server1 mysql-5.7.2-m12]# chkconfig --add mysqld
  [root@RHEL6-Server1 mysql-5.7.2-m12]# chkconfig --list mysqld
  mysqld          0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
  [root@RHEL6-Server1 mysql-5.7.2-m12]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
  [root@RHEL6-Server1 mysql-5.7.2-m12]# . /etc/profile  =  source /etc/profile
  3)初始化数据库
  [root@RHEL6-Server1 mysql-5.7.2-m12]# chown -R mysql:mysql /usr/local/mysql/
  [root@RHEL6-Server1 mysql-5.7.2-m12]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql
  --basedir=/usr/local/mysql/         //指定安装目录(产品目录)
  --datadir=/usr/local/mysql/data     //指定数据目录
  --user=mysql                        //指定用户身份
  4)启动mysql服务
  [root@RHEL6-Server1 mysql-5.7.2-m12]# service mysqld start
  Starting MySQL..............                               [确定]
  [root@RHEL6-Server1 mysql-5.7.2-m12]# mysqladmin -u root password '123456'  //设置成自己的密码
  [root@RHEL6-Server1 mysql-5.7.2-m12]# mysql -u root -p123456
  my.cnf 配置文件相关介绍,在mysql解压路径support-files/下提供的模版
  my-huge.cnf             巨大数据量
  my-innodb-heavy-4G.cnf  innodb引擎
  my-large.cnf            大数据量
  my-medium.cnf           测试使用
  my-small.cnf            小数据量
  MySQL 数据库存储引擎:
  myisam
  innodb
  多个配置文件时的应用顺序,后一个覆盖前一个配置文件
  /etc/my.cnf --> /etc/mysql/my.cnf --> $BASEDIR/my.cnf --> ~/.my.cnf
  netstat -anpt |grep mysqld
  tcp 3306 端口
  MySQL 是C/S结构,连接时需要客户端工具,Linux下mysql(如果是通过rpm格式安装软件需要安装mysql 软件包)
  连接并登录到MySQL操作环境
  mysql -u 指定用户名
  -p 指定密码
  -h 指定主机
  -P 指定端口
  [root@RHEL6-Server1 ~]# mysql -u root   默认root为Mysql用户,并为空密码
  设置数据库用户的密码
  mysqladmin  -u  root password '123456'
  查看有那些数据库
  mysql> show databases;
  +--------------------+
  | Database           |
  +--------------------+
  | information_schema | 保证兼容性,mysql运行当中位于内存中的信息,关机后是空的
  | mysql              | 最主要的
  | test               | 用于测试
  查看数据库中的数据表信息
  mysql> USE mysql;       //切换数据库
  mysql> show tables;     //查看有哪些表
  显示数据表的结构(字段)
  DESCRIBE  [数据库名.]表名
  mysql> DESCRIBE user;
  mysql> DESCRIBE mysql.user;
  创建新的数据库
  CREATE DATABASE 数据库名
  mysql> CREATE DATABASE auth;
  创建新的数据表
  CREATE TABLE 表名 (字段定义……)
  mysql> USE auth;
  mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));
  删除指定的数据表
  DROP TABLE [数据库名.]表名
  mysql> DROP TABLE auth.users;
  删除指定的数据库
  DROP DATABASE 数据库名
  mysql> DROP DATABASE auth;
  向数据表中插入新的数据记录
  INSERT INTO 表名(字段1, 字段2, ……)  VALUES(字段1的值, 字段2的值, ……)
  mysql> use auth;
  mysql> INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD('123456'));
  mysql> INSERT INTO users VALUES('lisi', PASSWORD('654321'));
  mysql> select * from auth.users;
  从数据表中查找符合条件的数据记录
  SELECT 字段名1,字段名2 …… FROM 表名 WHERE 条件表达式
  mysql> SELECT user_name,user_passwd FROM auth.users where user_name= 'zhangsan';
  修改、更新数据表中的数据记录
  UPDATE 表名 SET 字段名1=值1[,字段名2=值2]  WHERE 条件表达式
  mysql> UPDATE auth.users SET user_passwd=PASSWORD('') WHERE user_name='lisi';
  mysql> select * from auth.users;
  mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';
  mysql> FLUSH PRIVILEGES; 刷新授权表,让mysql进程重读授权表
  在数据表中删除指定的数据记录
  DELETE FROM 表名 WHERE 条件表达式
  mysql> SELECT user,host,password FROM mysql.user WHERE user='';
  mysql> DELETE FROM mysql.user WHERE user='';
  mysql> DELETE FROM auth.users WHERE user_name='lisi';
  mysql> SELECT * FROM auth.users;
  设置用户权限(用户不存在时,则新建用户)

  GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [>
  mysql> grant all on . to 'root'@'192.168.6.131'>  mysql> GRANT select ON auth. TO 'xiaoqi'@'localhost'>
  [root@www ~]# mysql -u xiaoqi -p
  ……
  mysql> SELECT  FROM auth.users;
  +-----------+-------------------------------------------+
  | user_name | user_passwd                               |
  +-----------+-------------------------------------------+
  | zhangsan  | 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
  +-----------+-------------------------------------------+
  1 row in set (0.00 sec)
  mysql> SELECT  FROM mysql.user;
  查看用户的权限
  SHOW GRANTS FOR 用户名@域名或IP
  mysql> SHOW GRANTS FOR 'xiaoqi'@'RHEL6-Server1';
  mysql> SHOW GRANTS FOR 'dbuser'@'192.168.4.19';
  撤销用户的权限
  REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@域名或IP
  mysql> REVOKE all ON auth.* FROM 'xiaoqi'@'localhost';
  数据库的备份与恢复
  方法1:可直接备份目录 /var/local/mysql/var
  方法2:使用专用备份工具 mysqldump
  备份操作
  mysqldump -u 用户名 -p [密码] [选项] [数据库名] [表名] > /备份路径/备份文件名
  常见选项:
  --all-databases
  --opt
  [root@www ~]# mysqldump -u root -p mysql user > mysql-user.sql
  Enter password:
  [root@www ~]# mysqldump -u root -p --database auth > auth.sql
  Enter password:
  [root@www ~]# mysqldump -u root -p --opt --all-databases > all-data.sql
  Enter password:
  恢复操作
  mysql -u root -p [数据库名] < /备份路径/备份文件名
  [root@www ~]# mysql -u root -p test < mysql-user.sql
  Enter password:
  MySQL通配符:
  _:任意单个字符
  %:任意长度的任意字符
  用于显示广泛的服务器状态信息
  show status;
  显示创建特定数据库或表
  help create database;
  help create tables;
  显示授权用户的安全权限
  show grants;
  显示服务器错误或警告信息
  show errors;
  show warnings;
  显示当前连接用户
  mysql> select user();
  显示当前时间
  mysql> select now();
  显示当前用户及时间
  mysql> select CURRENT_USER(),CURRENT_TIMESTAMP;
  mysql> select user(),now();
  显示当前数据库
  mysql> select database();
  显示服务器状态
  mysql> status;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-614115-1-1.html 上篇帖子: MySQL 5.6 基于GTID 进行主从复制 下篇帖子: spring boot+mybatis mysql redis mongodb组合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表