zoukankan      html  css  js  c++  java
  • mysql数据库安装与配置

    1.mysql数据库安装与配置

    1)环境配置,以下都是在系统root用户下操作:

    创建系统mysql用户:

    groupadd mysql
    
    useradd mysql -g mysql -d /mysql

    增加mysql用户文件句柄最大值:

    cat <<EOF>> /etc/security/limits.conf
    
    mysql           hard    nofile          65535
    
    mysql           soft    nofile          65535
    
    EOF
    
    cat /etc/security/limits.conf

    关闭iptables:

     
    chkconfig --list | grep iptables
    
    /etc/init.d/iptables stop
    
    chkconfig  iptables off

    添加环境变量:

    cat <<EOF>> /etc/profile
    
    export PATH=$PATH:/mysql/mysql5.6.34/bin
    
    EOF
    
    cat /etc/profile 

    添加开机启动:

    cd /etc/init.d/
    
    rz   ---上传mysqld文件    
    
    chown -R mysql.mysql /etc/init.d/mysqld
    
    chmod 755  /etc/init.d/mysqld
    
    chkconfig --add mysqld
    
    chkconfig --list | grep mysqld
    
    chmod -R 755 /etc/rc.d 

    2)安装软件:

    切换到mysql用户:su - mysql

    上传安装包到/mysql目录:

    mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

    解压并创建目录:

    tar -zxf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
    
    mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql5.6.34
    
    rm -rf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
    
    mkdir {data3306,backup,scripts}
    
    cd mysql5.6.34
    
    rz     ----上传配置文件my.cnf
    
    注:配置相关参数的修改:vi my.cnf
    
    innodb_buffer_pool_size =
    
    修改不超过系统内存的70%,如:内存8G,则设置为4G;内存16G,则设置为10G;内存32G,设置为20G 

    数据初始化:

     
    ./scripts/mysql_install_db --defaults-file=/mysql/mysql5.6.34/my.cnf --basedir=/mysql/mysql5.6.34 --datadir=/mysql/data3306 --user=mysql

    启动数据库:

     
    /etc/init.d/mysqld start

    执行安全脚本:

     
    ln -s /mysql/mysql.sock /tmp/
    
    mysql_secure_installation

    注:除了设置数据库root用户密码之外,都选择Y
     

    2.数据库的登录与使用

    切换到mysql用户;

    登录数据库:

    mysql -uroot -p密码 -S /mysql/mysql.sock
    
    注:mysql.sock文件可通过ps -ef | grep mysql查询;

    创建数据库:

    mysql> create database dbname;

    查看数据库:

     
    mysql> show databases;

    切换当然数据库:

    mysql> use mysql;

    注:mysql>为登录进入数据库的标识符。

    取消当前会话自动提交:

    mysql> set autocommit=0;

    之后就可以执行相关的SQL语句;

    查看SQL语句返回值,

    如果错误则回滚

    mysql> rollback;

    如果正确则提交

     
    mysql> commit;
     

    3.建立和删除主键或唯一约束

    适用范围

    对已存在的超过1GB的表建立主键

    风险评估

    1)建立主键的过程会锁表,阻塞操作此表的业务进程,请谨慎。

    2)表内有重复数据,导致创建失败

    操作流程

    1)检查唯一键上是否有重复数据,如果有需要DBA与开发协商处理。

    2)增加和删除主键属于常规变更,需要在OA或ITIL中提交申请,经过审批后执行。

    3)创建的主键与索引:

    1.添加PRIMARY KEY(主键索引)

     
    mysql>ALTER TABLE 'table_name' ADD PRIMARY KEY ('column');

    2.添加UNIQUE(唯一索引)

     
    mysql>ALTER TABLE 'table_name' ADD UNIQUE ('column');
     

    3.添加INDEX(普通索引)

     
    mysql>ALTER TABLE `table_name` ADD INDEX index_name (`column`);

    4)检查操作是否成功

     
    mysql>Show create table‘table_name’G

    4.表增加字段

    适用范围

    对已存在的表加字段

    风险评估

    1)有默认值和非空约束的字段在增加时会全量更新表内旧数据,过程会锁表,阻塞修改此表数据库业务进程。

    2)新增字段会对其依赖的对象和sql游标失效,请选择在业务低峰时段进程操作。

    操作流程

    1)根据业务特点参考数据库工作量信息选择操作时间。

    2)进行增加字段操作

     
    Alter table <schema>.<table_name> add col_test varchar(20);

    3)对有默认值和非空约束的字段先增加字段,把默认值和非空约束去掉,而后通过批量更新历史数据的方式进行默认值设置,全部完成后再加非空约束。

     
    Alter table <schema>.<table_name> add col_test varchar(20);

    批量修改历史数据,添加非空约束

     
    Alter table <schema>.<table_name> modify (col_test not null);

    4)检查操作是否成功

     
    Desc <schema>.<table_name>;
    Priestess©版权所有,禁止转载
  • 相关阅读:
    接口自动化平台
    MAC安装社区版本IDEA
    Python比较图片的不同
    快看!markdown的语法原来如此简单~
    说一说你不了解的Tailwind CSS响应式设计~
    Tailwind CSS安装和构建的正确操作方式
    一款绝对让你惊艳的CSS框架——TailwindCSS
    备受争议的PHP前景究竟如何?我们该何去何从?
    laravel8更新之速率限制改进
    laravel8更新之维护模式改进
  • 原文地址:https://www.cnblogs.com/priestess-zhao/p/8267790.html
Copyright © 2011-2022 走看看