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©版权所有,禁止转载
原文地址:https://www.cnblogs.com/priestess-zhao/p/8267790.html