mysql基本登录操作

为何要选用mysql

1.开源
2.社区活跃
3.维护简单
4.重量级
5.支持跨平台
6.支持多种语言(编码)
7.支持使用sql进行数据的读写
8.性能好,而且稳定
9.BAT 都在用mysql,往往都是从oracle切换到mysql

mysql的版本
社区版——社区人员自行维护的版本,没有售后
商业版——各种功能经过官方测试稳定,有完善的售后服务

发行版本
Alpha版
beta版
RC 版
GA版

mysql产品线
第一条:5.0-5.1 (5.1稳定)
第二条:5.4-5.7 (5.5 5.7稳定)
第三条:6.0 、7.0 、 8.0 (8.0最新)
生产环境中如何选择版本
1.选择社区版
2.选择稳定版
3.建议选择发布时间在6个月以上的稳定版
4.关注版本最近是否有修复补丁
5.注意是否和开发人员使用的数据库兼容
6.注意是否和现有数据库兼容
7.新版本的数据库建议在内部测试运行3-6个月以上
8.从原有数据库转移数据库的过程中,建议先转移非核心数据,测试是否正常


安装mysql

安装方式:yum安装、编译安装、通用二进制格式安装

通用二进制格式安装mysql步骤
第一步:准备mysql的配置文件

    # mv /root/my.cnf /etc

*注

    /usr/local/mysql                       >>>安装位置
    /data/mysql/mysql3306/data             >>>数据位置
    /data/mysql/mysql3306/tmp              >>>临时文件位置
    /data/mysql/mysql3306/logs/mysql-bin   >>>日志文件位置
    /tmp/mysql3306.sock                    >>>socket文件位置

第二步:安装mysql

    # groupadd mysql
    # useradd -r -g mysql -s /sbin/nologin mysql
    # tar xf /root/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
    # mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/
    # cd /usr/local
    # ln -sv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
    # chown mysql.mysql mysql -R

第三步:创建相关目录

    # mkdir /data/mysql/mysql3306/{data,tmp,logs} -pv
    # chown -R mysql.mysql /data

第四步:初始化——生成mysql的系统表和库

    # /usr/local/mysql/bin/mysqld --initialize --user=mysql

*注

  1. 其 --user 用于指定以哪个用户身份完成初始化工作(默认从配置文件中读取)
  2. 数据目录下如果有文件,会导致初始化失败
  3. 初始化完成后,会在数据目录下生成一系列文件
    其中 error.log 中保存了安装、启动、运行mysql过程中所出现的错误信息,初始root密码也在其中
  4. 用 --initialize-inseucre 做初始化时,root的初始密码为空
    # cat /data/mysql/mysql3306/data/error.log | grep password   >>>获取root初始密码

第五步:启动mysql

    # /usr/local/mysql/support-files/mysql.server start

第六步:导出二进制

    # vim /etc/profile.d/mysql.sh
          内容:PATH=$PATH:/usr/local/mysql/bin
	           export PATH
	# source /etc/profile      

第七步:登录mysql

    # mysql -uroot -pxxxx

第八步:重置mysql的root密码

    mysql> ALTER USER user() IDENTIFIED BY "123";
    mysql> show databases;

第九步:生成服务管理脚本
centos5、centos6上的操作

    # cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    # chkconfig --add mysqld
    # chkcongig mysqld on
    # service msyqld start|stop....

centos7上的操作

    # vim mysql3306.service
      内容:[Unit]
			Description=mysql 3306 service

			[Service]
			Type=forking
			ExecStart=/bin/bash /usr/local/mysql/support-files/mysql.server start
			ExecStop=/bin/bash /usr/local/mysql/support-files/mysql.server stop
			ExecRestart=/bin/bash /usr/local/mysql/support-files/mysql.server restart

			[Install]
			WantedBy=multi-user.target
      
    # mv mysql3306.service /usr/lib/systemd/system/
    # systemctl enable mysql3306.service 
    # systemctl start mysql3306.service 
    # ss -tnl | grep 3306 
	# systemctl stop mysql3306.service 
	# ss -tnl | grep 3306 

多实例

单个mysql服务会随着用户访问量增加导致性能急剧下降
因此多实例可提升服务器的资源使用率,降低单个mysql服务的并发请求量

第二个mysql实例
配置如下
端口:3307

    /usr/local/mysql                       >>>安装位置
    /data/mysql/mysql3307/data             >>>数据位置
    /data/mysql/mysql3307/tmp              >>>临时文件位置
    /data/mysql/mysql3307/logs/mysql-bin   >>>日志文件位置
    /tmp/mysql3307.sock                    >>>socket文件位置
    /data/mysql/mysql3307/my.cnf           >>>配置文件

第一步:创建相关文件

    # mkdir /data/mysql/mysql3307/{tmp,data,logs} -pv
	# chown -R mysql.mysql /data

第二步:生成配置文件

    # cp /etc/my.cnf /data/mysql/mysql3307/
	# sed -i  's/3306/3307/g' /data/mysql/mysql3307/my.cnf 
	# cat /data/mysql/mysql3307/my.cnf 

第三步:初始化

    # /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf --initialize

第四步:启动mysql

    # /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf &

第五步:登录多实例

    # mysql -uroot -pc-7ae#sgan1K -S /tmp/mysql3307.sock

第三个mysql实例
配置如下
端口:3308

    /usr/local/mysql                       >>>安装位置
    /data/mysql/mysql3308/data             >>>数据位置
    /data/mysql/mysql3308/tmp              >>>临时文件位置
    /data/mysql/mysql3308/logs/mysql-bin   >>>日志文件位置
    /tmp/mysql3308.sock   >                >>socket文件位置
    /data/mysql/mysql3308/my.cnf           >>>配置文件

第一步:创建相关文件

    # mkdir /data/mysql/mysql3308/{tmp,data,logs} -pv
	# chown -R mysql.mysql /data

第二步:生成配置文件

    # cp /etc/my.cnf /data/mysql/mysql3308/
	# sed -i  's/3306/3308/g' /data/mysql/mysql3308/my.cnf 
	# cat /data/mysql/mysql3308/my.cnf 

第三步:复制模板生成系统数据库文件

    # cd /data/mysql/
	# cp mysql3306/data/* mysql3308/data/ -a

第四步:启动实例

    # /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3308/my.cnf &
	# ss -tnl

第五步:登录实例

    # mysql -uroot -pc-7ae#sgan1K -S /tmp/mysql3308.sock

启动mysql过程中的错误追踪

# strace /usr/local/mysql/bin/mysqld &>start.log &

如果忘记mysql登录密码
在进行mysql初始化后生成的user.frm表中保存了用户的账号和密码,可删除数据目录下的全部文件重新初始化。

mysql启动方式

Centos6:

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

Centos7:

systemctl start mysqld.service
service mysqld start

启动中:

  1. mysql.server
    mysql.server–>mysqld_safe–>mysqld
  2. mysqld_safe
    mysqld_safe–>mysqld
    读取配置文件:[mysqld] [mysqld_safe] [server]
    配置文件中的选项
    Malloc-lib=/path/to/libtmalloc.so
    # yum isntall jemalloc
    启动方式:
     mysqld_safe --defaults-file=xxx --malloc-lib --user=xx &
  1. mysqld
  2. mysqld_multi
    mysql多实例管理脚本–新版中逐渐被废弃
    读取配置文件:[mysqld_multi] [mysqldN]
    启动方式:
    mysqld_multi start|stop|restart|status

mysql所存储的数据会保存成两类文件
数据:所存储的真正有意义的数据
索引:指向特定数据的一个指针,通过索引可以加速数据 的读取过程

索引通常就是数据的一部分,比如以找某个人的书,就是以作者为索引。(按照什么作为查找条件,就将什么设置为索引)
【索引会导致数据的写入速度变慢,索引越多写入性能越差】

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值